Mysql sql查詢優化

2021-08-19 02:15:26 字數 948 閱讀 7611

1.單個條件未加索引

對應的執行計畫

從查詢計畫中可以看出該查詢全表掃瞄,掃瞄行數 9000多行

2.增加唯一索引之後查詢

查詢時間縮短,然後再看查詢計畫

查詢計畫中,掃瞄行數中只有一行。

上面建立的索引是唯一索引,常規索引中查詢計畫的type一般為ref

索引列和非索引列一起查詢, 索引仍然會有效

單個索引失效的幾種情況

1.%username% like 會失效,%username like 會失效, username% like 不會失效(查詢計畫中的type=range,

in,between

都是這個type);

2.非單獨的列 例如  length(username) = 9 會失效;

三 建立組合索引

組合索引失效

1.當乙個列上的索引失效時,索引均失效

2.當索引第一列不在條件中時,則索引失效

四 關聯查詢總結

1.如果表a資料多,表b 資料少,關聯字段沒有作索引

則 先查詢表a,再查詢表b,時間較快。即 select from a left join b on

2.如果表a上的關聯欄位有索引,則應該先查表b,索引起作用

即select from b left join a on 

MYSQL SQL查詢優化

1.對查詢進行優化,應盡量避免全表掃瞄,首先應考慮在 where 及 order by 涉及的列上建立索引。2.應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃瞄,可以對欄位進行設定預設值處理,避免null值出現 3.應盡量避免在 where 子句...

5 MySQL SQL查詢優化

索引的優點 大大提公升查詢效率 索引的代價 索引導致對錶刪除,更新時,要同步修改索引 且索引本身佔據儲存空間 挑選索引 為用於搜尋,排序或分組的列建立索引 而對用作輸出顯示的列則不用建立索引 索引列差異值個數應較多 即乙個鍵值對應結果不應過多 索引列資料型別要在滿足需求下盡可能佔據較少空間 對字串可...

Mysql sql模糊查詢,sql優化日常

mysql 1 模糊查詢 2 聯表查詢優化 1 模糊查詢 like select from ms fans where nick name like demo limit 0,100 like xx 不能使用索引 like xx 可使用字段索引,查詢效率快 locate同樣不能使用索引,40萬資料中...