mysql left join優化 left join查詢慢


查詢語句如下:select a.id,a.name,b.start_time ... from a left join b on a.code=b.code   where b.delete_flag=0 order by a.id

查詢結果響應時間極慢花了20s ,其中a表數據50000條左右,b表數據不到五百條。

解決思路:查看兩表關聯字段字符集是否一致以及是否添加索引。

1.查看完字符集果然不一致。

修改一致后查詢響應時間到了8、9s左右。

2.查看索引 mysql>show index from a;show index from b;發現都只有主鍵索引。

 EXPLAIN select a.id,a.name,b.start_time ... from a left join b on a.code=b.code   where b.delete_flag=0 order by a.id

 

添加INDEX(普通索引) 

mysql>ALTER TABLE `table_name` ADD INDEX index_name ( `column` ) 

 最后查詢響應時間只需要一秒左右。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM