SQL Server 效能搶救 (1) 速度慢的查詢具備哪些因素

July 24, 2024

本文列出 SQL Server 內很慢的查詢會具備哪些因素,以及改善的效率。

變慢的因素

  1. 沒有為查詢語法會用到的資料表建立索引。
  2. 無法有效利用索引:不適當的查詢條件。
  3. 取得資料的邏輯有問題。
    • 例如:明明只要取一個月的資料,但是取的時候都把一整年的資料都取出來?只需要查詢姓名、電話的通訊錄,卻取得整張基本資料表的欄位?
  4. 不適當的資料表設計。

改善方式

  1. 查閱執行計畫、調整查詢語法和索引:執行計畫可以告訴你 「SQL Server 如何做查詢?」,可以從執行計畫看到 SQL 運算的每個步驟,並用來找到效能的瓶頸。
    • SQL 是一種宣告式程式語言 (告知想得到的結果,而非建立的步驟),會在內部產生 SQL 語法對應的查詢步驟。
  2. 擴充 SQL Server 所在伺服器的硬體。
  3. 減少、限制使用者的存取範圍。
  4. 調整伺服器、資料庫的組態。

請參考下一篇文章,瞭解查詢計畫:SQL Server 效能搶救 (2) 執行計畫 - 產生、檢視與一點點背景知識 – Lazy Coding