索引的優化

2022-08-05 14:27:14 字數 1014 閱讀 2080

發現乙個sql執行很慢,如下:

select

*from

rmes.r_wip_tracking_t wt, cmes.c_material_t m

where

m.material_type =1

and(m.material_spec 

like'l%

'orm.material_spec 

like'c%

')andwt.model_id 

=m.material_id      

andwt.sn 

>=

'1073h2h72270002

'andwt.sn 

<=

'1073h2h72270002

'計畫分析後,發現是都有走索引。

統計兩個表如下:

1.r_wip_tracking_t: 總共有3580030記錄,其中用sn有索引,並且sn在表中唯一

2.c_material_t 總共有512條資料,material_type是外來鍵有normal索引,material_spec無索引

有一點發現,如果去掉material_type=1的sql會變很快,說明是material_type的問題

在512記錄中發現

material_type

count

0 196

1 276

2 8

3 10

4 8

5 13

7 1

說明material_type索引型別錯了,需要改成bitmap型

執行:drop index fk_type;

create bitmap index fk_type on c_material_t (material_type) tablespace cmes;

就把sql的執行時間從89秒降低到了0.15秒

索引的優化

1 max 對於max取某一列最大值的時候,優化方案就是建立索引,然後倒敘排列然後取第乙個 2 count 和 count id 的區別 如果某一列存在null的話,那麼null的行將不被統計。例如有id和name兩列,有100行資料 count 為100 count name 為98,兩行null...

理解索引 索引優化

最近有個需求,要修改現有儲存結構,涉及查詢條件和查詢效率的考量,看了幾篇索引和hbase相關的文章,回憶了相關知識,結合專案需求,說說自己的理解和總結。索引結構和資料定位過程 查詢過程和高階查詢 執行計畫詳細介紹 常見優化方法 聯合索引最左字首原則 復合索引遵守 最左字首 原則,查詢條件中,使用了復...

理解索引 索引優化

最近有個需求,要修改現有儲存結構,涉及查詢條件和查詢效率的考量,看了幾篇索引和hbase相關的文章,回憶了相關知識,結合專案需求,說說自己的理解和總結。索引結構和資料定位過程 查詢過程和高階查詢 執行計畫詳細介紹 常見優化方法 聯合索引最左字首原則 復合索引遵守 最左字首 原則,查詢條件中,使用了復...