Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ओरेकल 10+ में एनयूएलएल वाले कॉलम पर फ़ंक्शन-आधारित इंडेक्स का उपयोग कैसे करें?

इंडेक्स का उपयोग किया जा सकता है, हालांकि हो सकता है कि ऑप्टिमाइज़र ने आपके विशेष उदाहरण के लिए इसका उपयोग न करने का विकल्प चुना हो:

SQL> create table my_objects
  2  as select object_id, object_name
  3  from all_objects;

Table created.

SQL> select count(*) from my_objects;
  2  /

  COUNT(*)
----------
     83783


SQL> alter table my_objects modify object_name null;

Table altered.

SQL> update my_objects
  2  set object_name=null
  3  where object_name like 'T%';

1305 rows updated.

SQL> create index my_objects_name on my_objects (lower(object_name));

Index created.

SQL> set autotrace traceonly

SQL> select * from my_objects
  2  where lower(object_name) like 'emp%';

29 rows selected.


Execution Plan
----------------------------------------------------------

------------------------------------------------------------------------------------
| Id  | Operation                   | Name            | Rows  | Bytes | Cost (%CPU)|
------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT            |                 |    17 |   510 |   355   (1)|
|   1 |  TABLE ACCESS BY INDEX ROWID| MY_OBJECTS      |    17 |   510 |   355   (1)|
|*  2 |   INDEX RANGE SCAN          | MY_OBJECTS_NAME |   671 |       |     6   (0)|
------------------------------------------------------------------------------------

आपके द्वारा पढ़ा गया दस्तावेज़ संभवतः इंगित कर रहा था कि, किसी भी अन्य अनुक्रमणिका की तरह, सभी-नल कुंजियों को अनुक्रमणिका में संग्रहीत नहीं किया जाता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle LISTAGG () क्वेरी के उपयोग के लिए

  2. Oracle अनुक्रम:यहाँ CURRVAL की अनुमति नहीं है?

  3. ऑरैकल में टाइमस्टैम्प घटाना अजीब डेटा लौटा रहा है

  4. php oci_bind_by_name फ्लोट टू न्यूमेरिक

  5. Oracle में आज की तारीख को एक चर में कैसे लौटाएं?