前言 最近幫公司優(yōu)化數(shù)據(jù)庫,憑著之前所學(xué),一步一步地將學(xué)習(xí)知識用于實踐,總算是將速度蹭上去了,一個原本要執(zhí)行1分多鐘的查詢現(xiàn)在只需要3秒。 現(xiàn)把自己所學(xué)所思及所用加以總結(jié),一方面為自己鞏固知識,另一方面也給廣大同學(xué)以一點點參考。 本套教程共十三
前言
最近幫公司優(yōu)化數(shù)據(jù)庫,憑著之前所學(xué),一步一步地將學(xué)習(xí)知識用于實踐,總算是將速度蹭上去了,一個原本要執(zhí)行1分多鐘的查詢現(xiàn)在只需要3秒。
現(xiàn)把自己所學(xué)所思及所用加以總結(jié),一方面為自己鞏固知識,另一方面也給廣大同學(xué)以一點點參考。
本套教程共十三講。
在這系列的教程中,你將會學(xué)到
1. 如何一步步地優(yōu)化數(shù)據(jù)庫
2. 如何把索引的作用發(fā)揮的淋漓盡致
3. 如何解決Mysql在like’%xxx%’模糊查詢的情況下不使用索引
4. 如何設(shè)計一張優(yōu)質(zhì)的表
5. 如何寫出高質(zhì)量的sql語句
6. 數(shù)據(jù)庫優(yōu)化的其他方法
首先,讓我們從發(fā)現(xiàn)慢查詢開始。
如何從一個大項目中,迅速的定位執(zhí)行速度慢的語句,這是本章節(jié)將要解決的問題。
1. 慢查詢的定義
怎樣的查詢才算是慢查詢,有沒有一個量化的標(biāo)準(zhǔn)呢?
慢查詢定義
慢查詢是指執(zhí)行時間超過慢查詢時間的sql語句。
查看慢查詢時間的方法
show variables like 'long_query_time';
可以通過如下語句對慢查詢的定義進行修改
set global long_query_time=1;
(如果你的mysql設(shè)置了緩存,那么需要重新進入命令行窗口才會查出變化)
需要注意的是,這個語句特意在變量前加上了global,表明這次的設(shè)置是對整個Mysql有效的,而默認情況下變量前的修飾符是session(會話),也就是只對當(dāng)前窗口有效。
這一講只是開個頭,下一講,我們會為慢查詢的發(fā)生準(zhǔn)備數(shù)據(jù),即創(chuàng)建一張大表。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com