查詢語句如下: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` )
最后查詢響應時間只需要一秒左右。