索引问题
SQL> select * from user_ind_columns where table_name='C01D';INDEX_NAME TABLE_NAME COLUMN_NAME COLUMN_POSITION COLUMN_LENGTH CHAR_LENGTH DESCEND------------------------------ ------------------------------ -------------------------------------------- --------------- ------------- ----------- -------IND_C01D12 C01D C01D12 1 22 0 ASCIND_C01D_C0109 C01D C01D09 1 6 6 ASCIND_C01D_C0126 C01D C01D26 1 6 6 ASCIND_C01D_C0133 C01D C01D33 1 8 8 ASCIND_C01D_C0165 C01D C01D65 1 6 6 ASCSYS_C003420 C01D C01D00 1 2 2 ASCSYS_C003420 C01D C01D01 2 8 8 ASC7 rows selected
SQL> create index my_test_ind on TEST_DISTINCT_TAB(name1,name2);索引已创建。SQL> select index_name,table_name from user_ind_columns where table_name='TEST_DISTINCT_TAB';INDEX_NAME TABLE_NAME------------------------------ ------------------------------MY_TEST_IND TEST_DISTINCT_TABMY_TEST_IND TEST_DISTINCT_TAB
[解决办法]
SQL> select * from test_distinct_tab where name2='ss';未选定行执行计划---------------------- 0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=8 Card=1 Bytes=24) 1 0 TABLE ACCESS (FULL) OF 'TEST_DISTINCT_TAB' (TABLE) (Cost=8 Card=1 Bytes=24)SQL> select * from test_distinct_tab where name1='ss';未选定行执行计划---------------------- 0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=0 Card=1 Bytes=24) 1 0 INDEX (RANGE SCAN) OF 'MY_TEST_IND' (INDEX)
[解决办法]
学习学习 。
[解决办法]
可以强制使用索引:
select /*+index(c01d SYS_C003420)*/ * from c01d where c01d00='13'