共計(jì) 1063 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
本篇內(nèi)容主要講解“sqlserver 性能調(diào)優(yōu)的方式”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓丸趣 TV 小編來帶大家學(xué)習(xí)“sqlserver 性能調(diào)優(yōu)的方式”吧!
首先搞清楚,性能調(diào)優(yōu)的目標(biāo)
從最直觀,最常見的角度來講,主要包含如下兩點(diǎn):
優(yōu)化響應(yīng)時(shí)間
何為“優(yōu)化響應(yīng)時(shí)間”呢?說的通俗點(diǎn),就是經(jīng)過調(diào)優(yōu)后,執(zhí)行查詢、更新等操作的時(shí)候,數(shù)據(jù)庫的反應(yīng)速度更快,花費(fèi)的時(shí)間更少。
比較常見的,以前執(zhí)行某條 sql 查詢語句,可能需要 3 秒鐘,加了索引后,1 秒鐘不到就搞定了。加索引,這也是最典型最 廉價(jià) 的優(yōu)化手段。
在做“優(yōu)化響應(yīng)時(shí)間”時(shí),需要了解:用戶環(huán)境,程序,環(huán)境,用戶和數(shù)據(jù)等方面的知識(shí)。
優(yōu)化吞吐量
說起“吞吐量”,那就要想到“并發(fā)”了。其實(shí)就是“同時(shí)處理請(qǐng)求”的能力。如何提高數(shù)據(jù)庫 抗并發(fā) 的能力呢?首先要了解 sqlserver 是如何訪問數(shù)據(jù)的,如何控制并發(fā)訪問的 (事務(wù)隔離級(jí)別,鎖等),如何與底層操作系統(tǒng)進(jìn)行交互的,還要了解“多線程、進(jìn)程”等方面的知識(shí)。
比較常見的手段,通過降低事務(wù)隔離級(jí)別(一定程度地犧牲數(shù)據(jù)一致性等),這種“軟手段”通常會(huì)起到很好的效果。其次,單臺(tái) DB Server 達(dá)到一定瓶頸后,可以通過“集群”等方式,實(shí)現(xiàn)請(qǐng)求的“負(fù)載均衡”的,來達(dá)到“抗并發(fā)”的目的,效果也是立竿見影的。
性能調(diào)優(yōu)的方法論 – 迭代
基線
通俗點(diǎn)講,就是用來計(jì)算或者比較的標(biāo)準(zhǔn)。通常以當(dāng)前系統(tǒng)性能為基準(zhǔn),或者以匹配系統(tǒng)性能為基準(zhǔn)。指各個(gè)組件發(fā)揮到最大。
成本
用來升級(jí),更換等提升組件性能時(shí)的時(shí)間,金錢,勞力等等。
基線的定義,以用戶期望值為基礎(chǔ),可能會(huì)涉及以下因素
以往的經(jīng)驗(yàn),應(yīng)用程序的基準(zhǔn),業(yè)界的標(biāo)準(zhǔn),以前版本的情況
基線的表示方式,包括:每秒完成的批處理 (作業(yè)),每秒傳輸量,每秒數(shù)據(jù)量,磁盤掃描時(shí)間等等
分析影響性能的因素:
數(shù)據(jù)庫設(shè)計(jì)(是否復(fù)合范式,是否合理歸檔、分區(qū)、分表等)
軟件系統(tǒng)(操作系統(tǒng)優(yōu)化,數(shù)據(jù)庫系統(tǒng)的配置,資源的規(guī)劃和監(jiān)控等)
硬件基礎(chǔ)架構(gòu)(設(shè)備規(guī)格,硬件性能,負(fù)載均衡,容災(zāi)等)
Sql 語句的寫法、索引和統(tǒng)計(jì)信息,事務(wù)和鎖,應(yīng)用程序訪問代碼 (連接過多、頻繁開關(guān)等)
性能調(diào)優(yōu)的順序:
從左往右,從技術(shù)難度、成本、實(shí)效去考慮
DETECT 方法
發(fā)現(xiàn)問題、探究原因、提供可能的解決方法、執(zhí)行最有可能的解決方案、確認(rèn)是否成功解決 (如果沒有,重復(fù)前面的步驟)、完成其余的工作
到此,相信大家對(duì)“sqlserver 性能調(diào)優(yōu)的方式”有了更深的了解,不妨來實(shí)際操作一番吧!這里是丸趣 TV 網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!