資料量佔總表的百分比過大導致索引失效

2021-10-10 02:38:37 字數 1452 閱讀 9133

最近在做報表查詢時 使用關鍵字explain對sql解釋發現在條件不變的情況下對索引列的條件不一樣會導致索引失效。使用強制索引的情況下問題解決

建表語句

create

table

`hm_bs_rec`

(`id`

bigint(20

)not

null

auto_increment

comment

'物理主鍵'

,`rec_time`

datetime

notnull

comment

'記錄時間'

,`blood_sugar`

decimal(6

,2)default

null

comment

'值',

primary

key(

`id`),

key`rectimeindex`

(`rec_time`

)using

btree

)engine

=innodb

auto_increment

=903001000003691

default

charset

=utf8 row_format=compact

問題:在執行相同的sql時因為查詢條件的日期不一樣導致索引失效

這裡查詢時間在2020-07-28時使用了索引

這裡查詢時間在2020-07-27時因為多了一天的資料量導致索引失效,而且這裡查出來的資料量佔總表的17.06%

這裡就很納悶不知道為什麼索引失效了 諮詢了度娘後發現是因為資料量超過一定百分比導致索引失效了 又說是20%時就失效了也有說30%。但是我這裡測試查出來的資料量還沒有達到20%時就導致索引失效了。也可能是因為這個表的資料太少只有3000+的資料導致。希望有知道的大哥能給小弟解惑一下

後來使用強制索引的時候發現就不會因為資料量的原因導致索引失效了

到這裡索引失效的問題完美解決了

百分比布局的使用

今天有時間搗鼓了一下這個東西,和大家分享一下。官方提供的包裡,關於百分比布局有兩個,如下 就是percentframelayout和percentrelativelayout,我們今天就來說說這兩個百分比布局的使用吧。本文demo使用android studio來完成,所以直接在gradle檔案中新...

sql 累計佔比 SQL語句 求總和的百分比

問題 求特定列中的值佔總和的百分比。例如,確定所有deptno 10工資佔總工資的百分比 deptno 10的工資在總工資中的百分比數 解決方案 總的來說,在sql中計算佔總數的百分比跟書面計算一樣 先除後乘。這個例子要計算表emp中deptno 10工資所佔的百分比。首先,算出deptno 10的...

設定tooltip顯示資料計算百分比

設定tooltip顯示資料計算百分比 modify tooltip data formatter function params,ticket,callback var param params i var xname param.name x軸的名稱 var seriesname param.se...