Heim > Datenbank > MySQL-Tutorial > [Index]Null值和索引的问题

[Index]Null值和索引的问题

WBOY
Freigeben: 2016-06-07 14:53:46
Original
1299 Leute haben es durchsucht

[Index]Null值和索引的问题 Index是不存储NULL值的,所以如果你有NULL的条件在SQL中,那么相关的索引是用不到的。 CREATE TABLE PTIAN1 AS (SELECT * FROM DBA_OBJECTS); www.2cto.com CREATE INDEX PTIAN_INDEX ON PTIAN1(DATA_OBJECT_ID); EXEC DBMS_STATS


[Index]Null值和索引的问题

 

Index是不存储NULL值的,所以如果你有NULL的条件在SQL中,那么相关的索引是用不到的。

CREATE TABLE PTIAN1 AS (SELECT * FROM DBA_OBJECTS);    www.2cto.com  

  

CREATE INDEX PTIAN_INDEX ON PTIAN1(DATA_OBJECT_ID);  

  

EXEC DBMS_STATS.GATHER_TABLE_STATS('APPS','PTIAN1', CASCADE=>TRUE );  

SELECT * FROM PTIAN1 WHERE DATA_OBJECT_ID = 11;  


[Index]Null值和索引的问题
 

SELECT * FROM PTIAN1 WHERE DATA_OBJECT_ID IS NULL;  


[Index]Null值和索引的问题

 

解决方法

创建Function-Based Index 

CREATE INDEX PTIAN_FUNC_INDEX ON PTIAN1 (NVL(DATA_OBJECT_ID,-1));  

  

EXEC DBMS_STATS.GATHER_TABLE_STATS('APPS','PTIAN1', CASCADE=>TRUE );  

  

SELECT OBJECT_NAME FROM PTIAN1 WHERE  NVL(DATA_OBJECT_ID,-1) = -1;  


[Index]Null值和索引的问题

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage