主頁 > 知識庫 > Mysql慢查詢優(yōu)化方法及優(yōu)化原則

Mysql慢查詢優(yōu)化方法及優(yōu)化原則

熱門標(biāo)簽:400電話申請廠家現(xiàn)貨 福建外呼電銷機(jī)器人加盟 百度地圖標(biāo)注要什么軟件 自己做地圖標(biāo)注需要些什么 徐涇鎮(zhèn)騰訊地圖標(biāo)注 昌德訊外呼系統(tǒng) 天津公司外呼系統(tǒng)軟件 電話機(jī)器人的價(jià)格多少錢一個(gè)月 中國地圖標(biāo)注公司

1、日期大小的比較,傳到xml中的日期格式要符合'yyyy-MM-dd',這樣才能走索引,如:'yyyy'改為'yyyy-MM-dd','yyyy-MM'改為'yyyy-MM-dd'【這樣MYSQL會(huì)轉(zhuǎn)換為日期類型】

2、條件語句中無論是等于、還是大于小于,WHERE左側(cè)的條件查詢字段不要使用函數(shù)或表達(dá)式或數(shù)學(xué)運(yùn)算

3、WHERE條件語句嘗試著調(diào)整字段的順序提升查詢速度,如把索引字段放在最前面、把查詢命中率高的字段置前等

4、保證優(yōu)化SQL前后其查詢結(jié)果是一致的

5、在查詢的時(shí)候通過將EXPLAIN命令寫在查詢語句前,測試語句是否有走索引【具體用法百度】

6、禁止使用SELECT * FROM操作,應(yīng)只返回需要的字段,不需要的字段不要返回

7、可以嘗試分解復(fù)雜的查詢,在應(yīng)用層面進(jìn)行表關(guān)聯(lián),以此代替SQL層面的表關(guān)聯(lián)

8、WHERE子句和ORDER BY子句涉及到的列建索引

9、避免在WHERE子句中對字段進(jìn)行NULL判斷【可以對表字段改造一下,字符串型字段默認(rèn)值設(shè)置為空字符串,數(shù)字型字段默認(rèn)值設(shè)置為0,日期型字段默認(rèn)值設(shè)置為1990-01-01等】

10、避免在WHERE子句中使用!=>操作符

11、避免在WHERE子句中使用OR操作符

12、BETWEEN AND代替IN

13、LIKE '%abc%'不會(huì)走索引,而LIKE 'abc%'會(huì)走索引

14、避免對字段進(jìn)行表達(dá)式操作

15、避免對字段進(jìn)行函數(shù)操作

16、GROUP BY操作默認(rèn)會(huì)對GROUP BY后面的字段進(jìn)行排序,如果你的程序不需要排序,可在GROUP BY語句后面加上ORDER BY NULL去除排序

17、如果是數(shù)值型字段,則盡量設(shè)計(jì)為數(shù)值型字段,不要為了方便、為了偷懶而給后面維護(hù)的同事埋坑

18、表中所有字段設(shè)計(jì)為NOT NULL

19、返回條數(shù)固定時(shí),用LIMIT語句限制返回記錄的條數(shù),如只需要一條記錄,或肯定只有一條記錄符合條件,那建議加上LIMIT 1

20、對于枚舉類型的字段【即有固定羅列值的字段】,建議使用ENUM而不是VARCHAR,如性別、星期、類型、類別等

21、對于存IP地址的字段設(shè)計(jì)為成UNSIGNED INT

22、避免在SQL中使用NOW()、CURDATE()RAND()函數(shù)【因?yàn)檫@種方式會(huì)導(dǎo)致MYSQL無法使用SQL緩存】,可以轉(zhuǎn)化為通過傳入?yún)?shù)的方式

23、對于統(tǒng)計(jì)類的查詢【如查詢連續(xù)幾個(gè)月的數(shù)據(jù)總量,或查詢同比、環(huán)比等】,可以通過定時(shí)查詢并統(tǒng)計(jì)到統(tǒng)計(jì)表的方式提高查詢速度

總結(jié)

以上所述是小編給大家介紹的Mysql慢查詢優(yōu)化方法及優(yōu)化原則 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

您可能感興趣的文章:
  • MySQL百萬級數(shù)據(jù)分頁查詢優(yōu)化方案
  • MySQL 使用自定義變量進(jìn)行查詢優(yōu)化
  • 理解MySQL查詢優(yōu)化處理過程
  • mysql查詢優(yōu)化之100萬條數(shù)據(jù)的一張表優(yōu)化方案
  • 詳解MySQL 聯(lián)合查詢優(yōu)化機(jī)制
  • MySQL查詢優(yōu)化必備知識點(diǎn)總結(jié)
  • MySQL查詢優(yōu)化之查詢慢原因和解決技巧
  • MySQL之select in 子查詢優(yōu)化的實(shí)現(xiàn)
  • MySQL千萬級大數(shù)據(jù)SQL查詢優(yōu)化知識點(diǎn)總結(jié)
  • 通過MySQL慢查詢優(yōu)化MySQL性能的方法講解
  • MySQL 百萬級數(shù)據(jù)的4種查詢優(yōu)化方式

標(biāo)簽:荊門 陜西 黔西 昌都 鄂爾多斯 北京 梅河口 駐馬店

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql慢查詢優(yōu)化方法及優(yōu)化原則》,本文關(guān)鍵詞  Mysql,慢,查詢,優(yōu)化,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql慢查詢優(yōu)化方法及優(yōu)化原則》相關(guān)的同類信息!
  • 本頁收集關(guān)于Mysql慢查詢優(yōu)化方法及優(yōu)化原則的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章