2024年1月18日 星期四

新分頁語法 OFFSET + FETCH

SQL 新的分頁語法  OFFSET 和 FETCH,效能比先前的 ROW_NUMBER() 函數速度快上許多。
ex:

SELECT *

FROM

(

SELECT ID, ROW_NUMBER() OVER (ORDER BY ID)  AS RowID

FROM Table_2

) A

WHERE RowID BETWEEN 3*10 AND (3+1)*10-1

;

SELECT *

FROM

(

SELECT ID, ROW_NUMBER() OVER (ORDER BY ID)  AS RowID

FROM Table_2

) A

ORDER BY RowID

OFFSET 3*10-1 Rows 

FETCH NEXT 10 Rows ONLY

;

2024年1月2日 星期二

SQL MD5 雜湊已被淘汰

--SQL MD5 雜湊已被淘汰

--雜湊改用安全得 SHA2_256 

DECLARE @HashThis nvarchar(max);

SELECT @HashThis = CONVERT(nvarchar,'dslfdkjLK85kldhnv$n000#knf');

SELECT HashBytes('SHA2_256', @HashThis);

OLTP 資料庫啟用ROW壓縮

 OLTP SQL資料庫, 可以啟用ROW壓縮, 同時縮小硬碟儲存空間+讀取資料量大小+降低存取秒數;
不過, 該資料表或資料庫有大量資料新增或匯入(一秒萬筆上下), 則不適用ROW壓縮

新增欄位, 在 DEFAULT 值後面加上WITH VALUES

資料表新增欄位, 在 DEFAULT 值後面加上WITH VALUES, 則不需要浪費時間+手動更新歷史資料預設值.
ex:

ALTER TABLE dbo.Table1

ADD AddDate smalldatetime NULL

    DEFAULT GETDATE() WITH VALUES ;

SQL Server 2017 統計不支援 MAXDOP

SQL Server 2017 建立統計與更新統計語句不支援 MAXDOP 選項.
需更新到CU3才支援, 更新後SQL版本號為 14.0.3015.40.