mysql選錯索引的解決

2021-10-24 04:08:46 字數 441 閱讀 4000

@mysql選錯索引的解決

analyze table 表名

1、強制選擇索引 force index

eg: select * from t force index(a) where a between 10000 and 20000;

缺點:這麼寫不優美;

如果索引改了名字,這個語句也得改,顯得很麻煩;

遷移資料庫後,語句可能不相容;

==》還是變更的及時性問題

2、引導mysql使用期望的索引

eg: order by b limit 1

可調整為 order by b,a limit 1

==》不是通用的優化手段

3、在有些場景下,可新建乙個更合適的索引供優化器選擇,或刪除誤用的索引

mysql索引選錯 10 mysql選錯索引

10 mysql選錯索引 在mysql表中可以支援多個索引,有的sql不指定使用哪個索引,由mysql自己來決定,但是有時候mysql選錯了索引,導致執行很慢。例子create table t10 id int 11 not null,a int 11 default null,b int 11 d...

10 mysql選錯索引

在mysql表中可以支援多個索引,有的 sql不指定使用哪個索引,由 mysql 自己來決定,但是有時候 mysql 選錯了索引,導致執行很慢。例子create table t10 id int 11 not null a int 11 default null b int 11 default n...

MYSQL學習筆記之選錯索引

優化器的目的是選擇索引。他會根據自己內部的判斷,從而選擇乙個最優的執行方案。而判斷是乙個因素就是掃瞄行數,越少的掃瞄行數,就說明訪問磁碟的資料次數越少,消耗的cpu資源也就越少。1.掃瞄行數如何判斷 mysql開始執行之前,並不能知道,滿足這個條件的記錄有多少,而只能採用統計的方法,進行預估。這個統...