摘要:優(yōu)化的一般步驟通過(guò)了解各種的執(zhí)行頻率定位執(zhí)行效率低的語(yǔ)句通過(guò)分析效率低的通過(guò)分析通過(guò)分析優(yōu)化器如何選擇執(zhí)行計(jì)劃確定問(wèn)題,采取措施優(yōu)化索引優(yōu)化措施中使用索引的典型場(chǎng)景匹配全值,條件所有列都在索引中而且是等值匹配匹配值的范圍查找,字段必須在索引
優(yōu)化sql的一般步驟
通過(guò)show status了解各種sql的執(zhí)行頻率
定位執(zhí)行效率低的sql語(yǔ)句
通過(guò)explain分析效率低的sql
通過(guò)show profile分析sql
通過(guò)trace分析優(yōu)化器如何選擇執(zhí)行計(jì)劃
確定問(wèn)題,采取措施優(yōu)化
索引優(yōu)化措施
mysql中使用索引的典型場(chǎng)景
匹配全值,條件所有列都在索引中而且是等值匹配
匹配值的范圍查找,字段必須在索引中
匹配最左前綴,復(fù)合索引只會(huì)根據(jù)最左列進(jìn)行查找
僅僅對(duì)索引進(jìn)行查詢,即查詢的所有字段都在索引上
匹配列前綴,比如like "ABC%",如果是like "%aaa"就不可以
如果列名是索引,使用column is null會(huì)使用索引
存在索引但不會(huì)使用索引的典型場(chǎng)景
以%開頭的like查詢不能使用b樹索引
數(shù)據(jù)類型出現(xiàn)隱式轉(zhuǎn)換不能使用索引
復(fù)合索引,查詢條件不符合最左列原則
用or分割的條件,如果前面的條件有索引,而后面的條件沒(méi)有索引
查看索引使用的情況
show status like "Handler_read%";
如果Handler_read_rnd_next的值比較高,說(shuō)明索引不正確或者查詢沒(méi)有使用到索引
簡(jiǎn)單實(shí)用的優(yōu)化方法定期檢查表和分析表
分析表語(yǔ)法:
analyze table 表名;
檢查表語(yǔ)法:
check table 表名;
定期優(yōu)化表
對(duì)于字節(jié)大小不固定的字段,數(shù)據(jù)更新和刪除會(huì)造成磁盤空間不釋放,這時(shí)候就行優(yōu)化表,可以整理磁盤碎片,提高性能
語(yǔ)法如下:
optimize table user(表名);
如果文章對(duì)你有幫助,請(qǐng)去我的博客留個(gè)言吧! 我的博客
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/17531.html
閱讀 1368·2019-08-30 15:55
閱讀 1654·2019-08-26 10:21
閱讀 3445·2019-08-23 18:28
閱讀 3382·2019-08-23 15:38
閱讀 750·2019-08-23 15:24
閱讀 2143·2019-08-23 13:59
閱讀 781·2019-08-23 11:31
閱讀 2874·2019-08-23 10:53