mysql調(diào)優(yōu)

mysql執(zhí)行過程.png

mysql調(diào)優(yōu)總的來說從以下三方面入手:

一 、查詢優(yōu)化、索引優(yōu)化、庫表結(jié)構(gòu)優(yōu)化

1. 查詢性能優(yōu)化

1.1) 優(yōu)化數(shù)據(jù)訪問:
1、是否向數(shù)據(jù)庫請(qǐng)求了不需要的數(shù)據(jù)
2、mysql是否在掃描額外的記錄

1.2)重構(gòu)查詢的方式:
1、 一個(gè)復(fù)雜查詢還是多個(gè)簡單查詢
2、切分查詢:有時(shí)候?qū)τ谝粋€(gè)大查詢我們需要“分而治之”,將大查詢切分成小查詢,每個(gè)查詢功能完全一樣,只完成一小部分,每次只返回一小部分查詢結(jié)果。刪除舊的數(shù)據(jù)就是一個(gè)很好的例子。
3、分解關(guān)聯(lián)查詢(分解join查詢)

2. 創(chuàng)建高性能索引

2.1 ) 獨(dú)立的列:“獨(dú)立的列”是指索引不能是表達(dá)式的一部分,也不能函數(shù)的參數(shù)。
2.2 ) 前綴索引和索引選擇性:索引的選擇性是指,不重復(fù)的索引值(也成為基數(shù),cardinality)和數(shù)據(jù)表的記錄總數(shù)(#T)的比值,范圍在1/#T到1之間。索引的選擇性越高則查詢效率越高,因?yàn)檫x擇性高的索引可以讓MySql在執(zhí)行時(shí)過濾掉更多的行。唯一索引的選擇性是1,這是最好的索引選擇性,性能也是最好的。
2.3) 多列索引
2.4) 選擇合適的索引順序
2.5) 覆蓋索引

3. 庫表結(jié)構(gòu)優(yōu)化

為列選擇合適的數(shù)據(jù)類型、混用范式和反范式化、創(chuàng)建緩存表和匯總表、

二、優(yōu)化mysql服務(wù)器配置

基礎(chǔ)配置:緩存池大小、日志文件大小

三、操作系統(tǒng)和硬件優(yōu)化

CPU、內(nèi)存、硬盤等方面

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容