W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
SQL 調(diào)優(yōu)是指通過綜合分析 SQL 的執(zhí)行計(jì)劃、執(zhí)行監(jiān)控信息、系統(tǒng)配置、系統(tǒng)負(fù)載等多方面因素,調(diào)整 SQL 的執(zhí)行策略,以實(shí)現(xiàn)資源利用最大化。
SQL 調(diào)優(yōu)方式一般可分為單條 SQL 調(diào)優(yōu)和系統(tǒng) SQL 調(diào)優(yōu)。
單一的 SQL 調(diào)優(yōu)的優(yōu)化主體是被調(diào)試的 SQL 執(zhí)行本身,一般調(diào)優(yōu)的目標(biāo)包括該 SQL 的執(zhí)行時(shí)間、試行期的資源消耗等。常見的調(diào)優(yōu)手段包括調(diào)整訪問路徑、執(zhí)行順序、邏輯改寫等。
針對單條 SQL 的執(zhí)行計(jì)劃性能調(diào)優(yōu)又可以分為單表訪問和多表訪問兩種場景。
場景 |
SQL 調(diào)優(yōu)的關(guān)注點(diǎn) |
---|---|
單表訪問 |
|
多表訪問 |
不僅要關(guān)注單表的 SQL 調(diào)優(yōu)問題,還要關(guān)注多表間的聯(lián)接問題:
|
系統(tǒng)的 SQL 調(diào)優(yōu)的目的是提高整個(gè)系統(tǒng)的吞吐量或者系統(tǒng)利用率等。系統(tǒng)的 SQL 調(diào)優(yōu)過程往往需要結(jié)合多條 SQL 的執(zhí)行計(jì)劃,綜合分析當(dāng)前系統(tǒng)的負(fù)載特征,主要關(guān)注熱點(diǎn)行競爭、buffer cache 命中率等全局性的調(diào)優(yōu)點(diǎn)。
針對吞吐量的性能調(diào)優(yōu)主要是考慮在一定資源(CPU、IO、網(wǎng)絡(luò)等)情況下,將數(shù)據(jù)庫系統(tǒng)處理請求量最大化。主要關(guān)注以下幾個(gè)方面:
主要方法 |
說明 |
---|---|
優(yōu)化慢 SQL |
找到具體的慢 SQL 后,針對單條 SQL 進(jìn)行性能調(diào)優(yōu),請參見示例 查詢某段時(shí)間內(nèi)執(zhí)行時(shí)間排名 TOP N 的請求。 |
均衡 SQL 的請求流量資源 |
請參見示例 查看集群 SQL 請求流量是否均衡。 影響均衡的因素主要有:
|
均衡子計(jì)劃的 RPC 請求流量資源 |
請參見示例 查看分布式子計(jì)劃 RPC 執(zhí)行數(shù)是否均衡。 影響子計(jì)劃請求是否均勻的主要因素如下:
|
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: