跳轉至內容

Microsoft SQL Server/最佳實踐

來自華夏公益教科書
  • 始終用所有者限定物件。
  • 當你不需要高事務一致性時,使用查詢 "with (nolock)"。
  • 不要使用 GOTO。
  • 避免使用遊標,因為它速度明顯更慢。如果需要,始終宣告正確的遊標型別 (FAST_FORWARD)。
  • 避免使用 SELECT INTO 來填充臨時表。建立表然後使用 INSERT SELECT。
  • 始終使用 ANSI 連線語法。
  • 始終檢查物件是否存在。
  • 使用 SCOPE_IDENTITY() 而不是 @@IDENTITY。
  • 始終檢查 @@TRANCOUNT 並根據需要提交/回滾。
  • 為了避免死鎖,對 DML 進行排序。
  • 始終檢查 @@ERROR 和 @@ROWCOUNT,並將它們分配給變數。
  • 始終檢查 sp 返回值。
  • 不要建立跨資料庫依賴關係。
  • 避免使用表值 UDF - 效能問題。
  • 避免使用動態 SQL - 如果需要,使用 sp_executesql 代替 EXEC。
  • 避免使用 NULL 值。
  • 當只有兩個值時,ISNULL 比 COALESCE 更有效。
  • 始終指定列;儘量避免使用 "SELECT *"。例外情況包括以下兩種情況:"WHERE EXISTS (SELECT * ...)" 和聚合函式。
華夏公益教科書