首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

T-SQL 好習慣:拒絕 SELECT * 與變數必宣告長度

     編輯:關於SqlServer

習慣一:生產環境禁用 SELECT *

理由非解析開銷,而是:

  1. 擴充風險:新增欄位自動被查出,導致非預期資料傳輸。
  2. 額外 I/O:觸發書籤查找或掃描,圖示對比 `SELECT *` vs `SELECT col1,col2` 的查詢計畫成本差異(圖 1)。

    SELECT * 額外 IO

    圖 1. SELECT * 帶來的不必要 I/O

習慣二:宣告變數必指定長度

未指定長度預設為 1,導致資料截斷(圖 2)。

變數長度截斷

圖 2. 未指定長度導致資料遺失

正確:`DECLARE @v VARCHAR(100) = 'long string';`

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved