Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm cách nào để sử dụng chỉ mục dựa trên hàm trên một cột có chứa NULL trong Oracle 10+?

Chỉ mục có thể được sử dụng, mặc dù trình tối ưu hóa có thể đã chọn không sử dụng nó cho ví dụ cụ thể của bạn:

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)|
------------------------------------------------------------------------------------

Tài liệu mà bạn đã đọc có lẽ đã chỉ ra rằng, giống như bất kỳ chỉ mục nào khác, tất cả các khóa rỗng không được lưu trữ trong chỉ mục.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chuyển đổi hàng thành cột trong Oracle

  2. Sql Đặt hàng theo nhiều cột

  3. Làm cách nào để chèn vào cột BLOB từ một câu lệnh chèn trong sqldeveloper?

  4. đăng nhập bảo mật mùa xuân không hoạt động với oracle

  5. Cài đặt ROracle ::Không thể tải lỗi đối tượng được chia sẻ