摘要:使用慢查詢?nèi)罩救グl(fā)現(xiàn)慢查詢,使用執(zhí)行計(jì)劃去判斷查詢是否正常運(yùn)行,總是去測(cè)試你的查詢看看是否他們運(yùn)行在最佳狀態(tài)下。這可以幫你分析你的查詢語句或是表結(jié)構(gòu)的性能瓶頸。的查詢結(jié)果還會(huì)告訴你你的索引主鍵被如何利用的,你的數(shù)據(jù)表是如何被搜索和排序的等等
使用慢查詢?nèi)罩救グl(fā)現(xiàn)慢查詢,
使用執(zhí)行計(jì)劃去判斷查詢是否正常運(yùn)行,總是去測(cè)試你的查詢看看是否他們運(yùn)行在最佳狀態(tài)下。久而久之性能總會(huì)變化,避免在整個(gè)表上使用count(*),它可能鎖住整張表,使查詢保持一致以便后續(xù)相似的查詢可以使用查詢緩存
,在適當(dāng)?shù)那樾蜗率褂肎ROUP BY而不是DISTINCT,,保持索引簡(jiǎn)單,不在多個(gè)索引中包含同一個(gè)列,有時(shí)候MySQL會(huì)使用錯(cuò)誤的索引,對(duì)于這種情況使用USE INDEX,檢查使用SQL_MODE=STRICT的問題,對(duì)于記錄數(shù)小于5的索引字段,在UNION的時(shí)候使用LIMIT不是是用OR。
為了 避免在更新前SELECT,使用INSERT ON DUPLICATE KEY或者INSERT IGNORE ,不要用UPDATE去實(shí)現(xiàn),不要使用 MAX,使用索引字段和ORDER BY子句,LIMIT M,N實(shí)際上可以減緩查詢?cè)谀承┣闆r下,有節(jié)制地使用,在WHERE子句中使用UNION代替子查詢,考慮持久連接,而不是多個(gè)連接,以減少開銷,基準(zhǔn)查詢,包括使用服務(wù)器上的負(fù)載,有時(shí)一個(gè)簡(jiǎn)單的查詢可以影響其他查詢,當(dāng)負(fù)載增加您的服務(wù)器上,使用SHOW PROCESSLIST查看慢的和有問題的查詢,
在開發(fā)環(huán)境中產(chǎn)生的鏡像數(shù)據(jù)中 測(cè)試的所有可疑的查詢。
EXPLAIN SELECT 查詢用來跟蹤查看效果
使用 EXPLAIN 關(guān)鍵字可以讓你知道MySQL是如何處理你的SQL語句的。這可以幫你分析你的查詢語句或是表結(jié)構(gòu)的性能瓶頸。EXPLAIN 的查詢結(jié)果還會(huì)告訴你你的索引主鍵被如何利用的,你的數(shù)據(jù)表是如何被搜索和排序的……等等
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/31158.html
閱讀 3721·2021-10-18 13:34
閱讀 2416·2021-08-11 11:15
閱讀 1209·2019-08-30 15:44
閱讀 702·2019-08-26 10:32
閱讀 998·2019-08-26 10:13
閱讀 2072·2019-08-23 18:36
閱讀 1784·2019-08-23 18:35
閱讀 532·2019-08-23 17:10