97人妻熟女成人免费视频色戒,亚洲一区二区三区自拍天堂,国产精品午睡沙发系列,少妇愉情理伦片丰满丰满午夜

SQL服務(wù)器查詢(xún)調(diào)優(yōu)的三大步驟

SQL服務(wù)器查詢(xún)調(diào)優(yōu)的三大步驟

查詢(xún)調(diào)優(yōu)通常是加速SQL服務(wù)器性能的最快方法。大多數(shù)情況下,系統(tǒng)級(jí)服務(wù)器性能(內(nèi)存、處理器等)改進(jìn)措施既無(wú)效又昂貴。專(zhuān)家開(kāi)發(fā)人員認(rèn)為,大多數(shù)性能問(wèn)題都可以追溯到編寫(xiě)不當(dāng)?shù)牟樵?xún)和低效的索引,而不是硬件限制。事實(shí)上,有些性能問(wèn)題只能通過(guò)查詢(xún)調(diào)優(yōu)來(lái)解決。

SQL服務(wù)器查詢(xún)調(diào)優(yōu)的三大步驟-美聯(lián)科技

但是當(dāng)涉及到SQL服務(wù)器性能查詢(xún)調(diào)優(yōu)時(shí),DBA 經(jīng)常會(huì)遇到從哪里開(kāi)始的問(wèn)題。您如何評(píng)估查詢(xún)?您如何發(fā)現(xiàn)查詢(xún)編寫(xiě)方式中的缺陷?您如何發(fā)現(xiàn)隱藏的改進(jìn)機(jī)會(huì)?查詢(xún)優(yōu)化一半是科學(xué),一半是藝術(shù),因?yàn)闆](méi)有正確或錯(cuò)誤的答案,只有最適合給定情況的解決方案。

這里有 12 個(gè)快速提示,可以幫助 DBA 以可衡量的方式提高查詢(xún)性能,同時(shí)確保特定更改確實(shí)提高了查詢(xún)速度。

1. 基本查詢(xún)分析

DBA 需要了解所有層和有關(guān)昂貴查詢(xún)的信息,以便隔離根本原因。有效的調(diào)優(yōu)需要了解排名靠前的 SQL 語(yǔ)句、排名靠前的等待類(lèi)型、SQL 計(jì)劃、阻塞的查詢(xún)、資源爭(zhēng)用以及缺少索引的影響。從基礎(chǔ)開(kāi)始——在你投入之前準(zhǔn)確地了解你正在處理的是什么會(huì)有所幫助。

提示 1:了解您的表和行數(shù)

首先,確保您實(shí)際操作的是表,而不是視圖或表值函數(shù)。表值函數(shù)有其自身的性能影響。您可以使用 SSMS 將鼠標(biāo)懸停在查詢(xún)?cè)厣弦詸z查這些詳細(xì)信息。通過(guò)查詢(xún) DMV 檢查行數(shù)。

SQL服務(wù)器查詢(xún)調(diào)優(yōu)的三大步驟-美聯(lián)科技

技巧 2:檢查查詢(xún)過(guò)濾器、WHERE 和 JOIN 子句并注意過(guò)濾的行數(shù)

如果沒(méi)有過(guò)濾器,并且返回了大部分表,請(qǐng)考慮是否需要所有數(shù)據(jù)。如果根本沒(méi)有過(guò)濾器,這可能是一個(gè)危險(xiǎn)信號(hào),需要進(jìn)一步調(diào)查。這確實(shí)會(huì)減慢查詢(xún)速度。

技巧 3:了解表格的選擇性

根據(jù)前兩個(gè)技巧中的表格和過(guò)濾器,了解您將使用多少行,或?qū)嶋H邏輯集的大小。我們建議使用 SQL 圖表作為評(píng)估查詢(xún)和查詢(xún)選擇性的強(qiáng)大工具。

技巧 4:分析額外的查詢(xún)列

仔細(xì)檢查 SELECT * 或標(biāo)量函數(shù)以確定是否涉及額外的列。您帶回的列越多,使用某些索引操作的執(zhí)行計(jì)劃可能變得越不理想,而這反過(guò)來(lái)又會(huì)降低性能。

2.高級(jí)查詢(xún)分析

提示 5:了解和使用約束會(huì)有所幫助

了解和使用約束會(huì)在您開(kāi)始調(diào)優(yōu)時(shí)有所幫助。查看現(xiàn)有的鍵、約束、索引,以確保避免重復(fù)工作或與已存在的索引重疊。要獲取有關(guān)索引的信息,請(qǐng)運(yùn)行 sp_helpindex 存儲(chǔ)過(guò)程:

技巧 6:檢查實(shí)際執(zhí)行計(jì)劃(而非估計(jì)計(jì)劃)

估計(jì)計(jì)劃使用估計(jì)統(tǒng)計(jì)信息來(lái)確定估計(jì)行;實(shí)際計(jì)劃在運(yùn)行時(shí)使用實(shí)際統(tǒng)計(jì)信息。如果實(shí)際計(jì)劃和估計(jì)計(jì)劃不同,您可能需要進(jìn)一步調(diào)查。

技巧 7:記錄您的結(jié)果,重點(diǎn)關(guān)注邏輯 I/O 的數(shù)量

如果您不記錄結(jié)果,您將無(wú)法確定更改的真正影響。

提示 8:根據(jù)您的發(fā)現(xiàn)調(diào)整查詢(xún)并一次進(jìn)行小的、單一的更改一次

進(jìn)行過(guò)多的更改可能是無(wú)效的,因?yàn)樗鼈儠?huì)相互抵消!首先尋找最昂貴的操作。沒(méi)有正確或錯(cuò)誤的答案,只有最適合給定情況的答案。

技巧 9:重新運(yùn)行查詢(xún)并記錄所做更改的結(jié)果

如果您發(fā)現(xiàn)邏輯 I/O 有所改進(jìn),但改進(jìn)還不夠,請(qǐng)返回技巧 8 檢查可能需要調(diào)整的其他因素。繼續(xù)一次進(jìn)行一項(xiàng)更改,重新運(yùn)行查詢(xún)并比較結(jié)果,直到您對(duì)已解決所有可能的昂貴操作感到滿意為止。

技巧 10:如果您還需要更多改進(jìn),請(qǐng)考慮調(diào)整索引以減少邏輯 I/O

添加或調(diào)整索引并不總是最好的做法,但如果您不能更改代碼,這可能是唯一的選擇你可以做。您可以考慮對(duì)現(xiàn)有索引、覆蓋索引和過(guò)濾索引進(jìn)行改進(jìn)。

技巧 11:重新運(yùn)行查詢(xún)并記錄結(jié)果

如果您進(jìn)行了調(diào)整,請(qǐng)重新運(yùn)行查詢(xún)并再次記錄這些結(jié)果。

提示 12:設(shè)計(jì)出愚蠢的

Lookout 以防止經(jīng)常遇到的性能抑制因素,例如:代碼優(yōu)先生成器、濫用通配符、標(biāo)量函數(shù)、嵌套視圖、游標(biāo)和逐行處理。

3. 使用數(shù)據(jù)庫(kù)性能監(jiān)控工具來(lái)促進(jìn)查詢(xún)調(diào)優(yōu)。

傳統(tǒng)的數(shù)據(jù)庫(kù)監(jiān)控工具專(zhuān)注于健康指標(biāo)。當(dāng)前的應(yīng)用程序性能管理工具提供提示,但不能幫助找到根本原因。

提示:通過(guò)使用連續(xù)的數(shù)據(jù)庫(kù)性能監(jiān)控解決方案,您可以大大簡(jiǎn)化查詢(xún)調(diào)優(yōu)。數(shù)據(jù)庫(kù)性能監(jiān)控工具的推薦包括:

SolarWinds ?數(shù)據(jù)庫(kù)性能分析器 (DPA)

SolarWinds Database Performance Analyzer (DPA) 可以將性能信息整合到一個(gè)地方。使用 DPA,您可以:

  • 識(shí)別延遲的特定查詢(xún)
  • 識(shí)別導(dǎo)致延遲的特定瓶頸(等待事件)
  • 顯示已識(shí)別瓶頸的時(shí)間影響

SolarWinds? SQL Sentry

SQL Sentry 是另一種SQL服務(wù)器性能調(diào)整工具,可以幫助您解決性能問(wèn)題。使用 SQL Sentry,您可以查看歷史性能并檢測(cè)問(wèn)題以更快地開(kāi)始故障排除。

SQL 哨兵功能包括:

  • 深入了解過(guò)去的SQL服務(wù)器性能 – 回到過(guò)去查看發(fā)生了什么變化
  • 查看 Top SQL 查詢(xún)、阻塞和死鎖分析——查看特定時(shí)刻以更好地了解正在運(yùn)行的查詢(xún)并分析阻塞詳細(xì)信息
  • 優(yōu)化查詢(xún)——使用內(nèi)置的 Plan Explorer 工具,您可以更輕松地分析查詢(xún)統(tǒng)計(jì)信息和查看查詢(xún)計(jì)劃圖
客戶經(jīng)理