SQL優化常用方法39
- 總是使用索引的第一個列
如果索引是建立在多個列上, 只有在它的第一個列(leading column)被where子句引用時,優化器才會選擇使用該索引. 譯者按:
這也是一條簡單而重要的規則. 見以下例項.
SQL> create table multiindexusage ( inda number , indb number , descr varchar2(10));
Table created.
SQL> create index multindex on multiindexusage(inda,indb);
Index created.
SQL> set autotrace traceonly
SQL> select * from multiindexusage where inda = 1;
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (BY INDEX ROWID) OF `MULTIINDEXUSAGE`
2 1 INDEX (RANGE SCAN) OF `MULTINDEX` (NON-UNIQUE)
SQL> select * from multiindexusage where indb = 1;
Execution Plan
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 TABLE ACCESS (FULL) OF `MULTIINDEXUSAGE`
很明顯, 當僅引用索引的第二個列時,優化器使用了全表掃描而忽略了索引
相關文章
- SQL優化常用方法11SQL優化
- SQL優化常用方法10SQL優化
- SQL優化常用方法16SQL優化
- SQL優化常用方法2SQL優化
- SQL優化常用方法5SQL優化
- SQL優化常用方法8SQL優化
- SQL優化常用方法3SQL優化
- SQL優化常用方法19SQL優化
- SQL優化常用方法20SQL優化
- SQL優化常用方法18SQL優化
- SQL優化常用方法12SQL優化
- SQL優化常用方法46SQL優化
- SQL優化常用方法52SQL優化
- SQL優化常用方法33SQL優化
- SQL優化常用方法29SQL優化
- SQL優化常用方法26SQL優化
- SQL優化常用方法25SQL優化
- SQL優化常用方法27SQL優化
- SQL優化常用方法22SQL優化
- SQL優化常用方法30SQL優化
- Oracle SQL效能優化常用方法OracleSQL優化
- Sql優化方法SQL優化
- 【NLP】常用優化方法優化
- MySQL 優化常用方法MySql優化
- MySql常用30種SQL查詢語句優化方法MySql優化
- 常用SQL語句優化技巧SQL優化
- SQL優化的方法論SQL優化
- Asp.net常用優化方法ASP.NET優化
- 網路效能優化常用方法優化
- Oracle SQL效能最佳化常用方法OracleSQL
- 達夢SQL優化方法statSQL優化
- 不懂業務的SQL優化方法SQL優化
- SQL查詢優化的方法SQL優化
- 50種方法優化SQL Server優化SQLServer
- SQL 語句的優化方法SQL優化
- 幾種常用的SQL優化工具及方法SQL優化
- 淺談MySQL中優化sql語句查詢常用的30種方法MySql優化
- MySql 學習筆記三:常用SQL優化MySql筆記優化