2018-06-30-查詢性能優(yōu)化點(diǎn)總結(jié)

1.善于使用expain

explain的使用清晰度展示了一些需要添加索引以及其它的一些性能信息辐烂,可以根據(jù)查看explain的結(jié)果對(duì)語(yǔ)句進(jìn)行優(yōu)化

2.切分查詢

感覺(jué)計(jì)算機(jī)里面分而治之的思想無(wú)處不在亏掀,這里切分查詢既是這個(gè)思想的一次展示,如果我們想刪除一年的數(shù)據(jù)渤弛,如果一次性刪除的話對(duì)數(shù)據(jù)庫(kù)祝拯,會(huì)占用大量資源,可能造成阻塞她肯,對(duì)正常的服務(wù)器運(yùn)行產(chǎn)生波動(dòng)影響佳头,
策略:將一次性刪除改為每次刪除1-3萬(wàn)行數(shù)據(jù)(這里可根據(jù)自己的服務(wù)器性能進(jìn)行變動(dòng),使用工具找到影響最小的)晴氨,在每次刪除后最好暫停一下康嘉,這樣能將整個(gè)數(shù)據(jù)操作分散到更長(zhǎng)的時(shí)間線中,對(duì)服務(wù)影響更小

3.特定類(lèi)型優(yōu)化查詢

(1).count()簡(jiǎn)單優(yōu)化

常見(jiàn)誤解:count函數(shù)在MyISAM中非匙亚埃快
答:只有在沒(méi)有where條件的情況下才能非惩ふ洌快

select count(*) from world.city where id > 5;

通過(guò)explain可以看出這個(gè)sql語(yǔ)句在我的數(shù)據(jù)庫(kù)中掃描了5000行左右代碼,那么如何進(jìn)行優(yōu)化枝哄,可以倒過(guò)來(lái)查詢啊

select (select count(*) from world.city) - count(*)  from world.city where id < 5

這樣從小的開(kāi)始排查大大減少了查詢行數(shù)块蚌,是個(gè)不錯(cuò)的查詢方式。

(2) group by優(yōu)化

最好優(yōu)化策略:
◆ GROUP BY 條件字段必須在同一個(gè)索引中最前面的連續(xù)位置;
◆在使用GROUP BY 的同時(shí)膘格,只能使用 MAX 和 MIN 這兩個(gè)聚合函數(shù);
◆如果引用到了該索引中 GROUP BY 條件之外的字段條件的時(shí)候峭范,必須以常量形式存在

(3) limit優(yōu)化

limit 在數(shù)據(jù)量不大的情況下非常適合分頁(yè),再加上索引瘪贱,相當(dāng)方便纱控,
但是在數(shù)據(jù)量便宜很大的情況下就不是很合適了,這里我們引入mysql的一種查詢方法菜秦。
延遲查詢:通過(guò)使用覆蓋索引查詢返回需要的主鍵,再根據(jù)主鍵關(guān)聯(lián)原表獲得需要的數(shù)據(jù)甜害。
再說(shuō)白點(diǎn)就是先查主鍵,在關(guān)聯(lián)到數(shù)據(jù)球昨,來(lái)看例子:

select film_id, description from sakila.film order by title limit 50000, 5;

查詢五萬(wàn)條之后的五條數(shù)據(jù)
優(yōu)化:

select film.film_id, film.discription from sakila.film inner join (
    select film_id, description from sakila.film order by title limit 50000, 5
) as lim using(film_id);

這里我們通過(guò)子查詢先查詢了符合條件的id尔店,然后在關(guān)聯(lián)到表中,查詢效率提升好幾倍

-------------------------------------暫時(shí)到這里主慰,后續(xù)對(duì)文章進(jìn)行繼續(xù)補(bǔ)充

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嚣州,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子共螺,更是在濱河造成了極大的恐慌该肴,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藐不,死亡現(xiàn)場(chǎng)離奇詭異匀哄,居然都是意外死亡秦效,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)涎嚼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)阱州,“玉大人,你說(shuō)我怎么就攤上這事法梯」钡ⅲ” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵鹊汛,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我阱冶,道長(zhǎng)刁憋,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任木蹬,我火速辦了婚禮至耻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘镊叁。我一直安慰自己尘颓,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布晦譬。 她就那樣靜靜地躺著疤苹,像睡著了一般。 火紅的嫁衣襯著肌膚如雪敛腌。 梳的紋絲不亂的頭發(fā)上卧土,一...
    開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
  • 那天,我揣著相機(jī)與錄音像樊,去河邊找鬼尤莺。 笑死,一個(gè)胖子當(dāng)著我的面吹牛生棍,可吹牛的內(nèi)容都是我干的颤霎。 我是一名探鬼主播,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼涂滴,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼友酱!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起柔纵,我...
    開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤粹污,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后首量,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體壮吩,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡进苍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鸭叙。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片觉啊。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖沈贝,靈堂內(nèi)的尸體忽然破棺而出杠人,到底是詐尸還是另有隱情,我是刑警寧澤宋下,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布嗡善,位于F島的核電站,受9級(jí)特大地震影響学歧,放射性物質(zhì)發(fā)生泄漏罩引。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一枝笨、第九天 我趴在偏房一處隱蔽的房頂上張望袁铐。 院中可真熱鬧,春花似錦横浑、人聲如沸剔桨。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)洒缀。三九已至,卻和暖如春欺冀,著一層夾襖步出監(jiān)牢的瞬間帝洪,已是汗流浹背葱峡。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留提鸟,地道東北人称勋。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓空厌,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親筐钟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子篓冲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345