最近發(fā)現(xiàn)項(xiàng)目的一些操作速度特別慢费变,原本以為是數(shù)據(jù)量太大造成粥帚,后來仔細(xì)分析下來有了重大發(fā)現(xiàn)灰蛙。
一個很普通的操作祟剔,就幾個查詢幾個簡單的修改操作,操作時間盡達(dá)到了30多秒摩梧,這個速度是沒法接受的物延,我們看下分析思路:
1. 查看當(dāng)前的慢查詢:
結(jié)論
發(fā)現(xiàn)這個簡單的update修改操作盡然在等待了,而且更怪異的是使用了id這種一般建表時的自增唯一主鍵
2. 使用explain大神進(jìn)行分析
結(jié)論
可以看出id沒有走索引仅父,而是進(jìn)行了全表查詢
發(fā)現(xiàn)了問題教届,怎么解決呢?
去看表結(jié)構(gòu)驾霜,發(fā)現(xiàn)表里的 Primary key
和 Unique
都沒有打?qū)矗ㄏ旅娴慕貓D是我修改后的)
看下修改后的explain結(jié)果
可以看出 where 已經(jīng)使用id 索引了案训,這樣的效率一下就上來了
隨后又對經(jīng)常用到的查詢建立了索引