日期:2014-05-17 浏览次数:20874 次
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 ASC IND_C01D_C0109 C01D C01D09 1 6 6 ASC IND_C01D_C0126 C01D C01D26 1 6 6 ASC IND_C01D_C0133 C01D C01D33 1 8 8 ASC IND_C01D_C0165 C01D C01D65 1 6 6 ASC SYS_C003420 C01D C01D00 1 2 2 ASC SYS_C003420 C01D C01D01 2 8 8 ASC 7 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_TAB MY_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'