索引失效,可以從一下幾種原因中分析:
在where條件的等號左側中使用函式
where date
(create_at)
='2019-01-01'
帶有列的函式計算值,導致索引無法使用。
表關聯字符集格式以及排序方式不一致
關注charset和collation
sql寫法錯誤導致的索引失效比較常見的例子是,我們儲存手機號的字段格式為varchar,但是sql卻寫的where phone=
123;
統計資訊不準確
在查詢中使用 !=、not in、not exists
select * from goods where status !=
0可有優化為:
select * from goods where status =
1 or status =
2
mysql支援字首索引,但是不支援字尾索引
select * from goods where name like '%a'
可優化為:
select * from goods where name like 'a%'
where條件中有or,需將or中的每個欄位都加上索引
select * from goods where name =
'a' or status =
0
狀態值少的字段不宜使用索引,例如性別。
設定聯合索引時,索引的建立順序要和where或者order by條件中的字段順序相同,如建立name、status(分別為key1、key2)的聯合索引,此時以name欄位為第一查詢順序的索引有效:
select * from goods where name =
'a' and status =
0select * from goods where status =
0 and name=
'a'--索引失效
參考 TBox怎麼回事
新公司有一款tbox的產品,但我對於tbox了解甚少,對車聯網也連線甚少。對網路上的一些資料,我也應該做一些整合,加上這段時間在公司接觸到的事情,完成這篇部落格,寫部落格也是一種激勵自己學習的手段。tbox上通雲端tsp telematics service provider,遠端服務提供商 下連汽...
電腦頻繁斷網怎麼回事 眼睛有閃光感怎麼回事
在眼科門診有很多患者描述病情時不少人表示眼睛出現過出現過突然一閃的亮光,這也就是眼科稱的閃光感,那麼,眼睛有閃光感怎麼回事呢?出現閃光感該怎麼辦呢?下面我們就來看看眼病醫院專家怎麼說。眼睛有閃光感怎麼回事?閃光感其實是一種很需要引起重視的症狀,除了最常見的原因玻璃體後脫離,有時候它還是一些嚴重疾病的...
執行緒安全是怎麼回事
如果你的 所在的程序中有多個執行緒在同時執行,而這些執行緒可能會同時執行這段 如果每次執行結果和單執行緒執行的結果是一樣的,而且其他的變數的值也和預期的是一樣的,就是執行緒安全的。比如乙個 arraylist 類,在新增乙個元素的時候,它可能會有兩步來完成 1.在 items size 的位置存放此...