時間:2024-02-05 12:47作者:下載吧人氣:24
大家好,我是只談技術不剪發(fā)的 Tony 老師。
Microsoft SQL Server 過濾索引(篩選索引)是指基于滿足特定條件的數(shù)據(jù)行進行索引。與全表索引(默認創(chuàng)建)相比,設計良好的篩選索引可以提高查詢性能、減少索引維護開銷并可降低索引存儲開銷。本文就給大家介紹一下 Microsoft SQL Server 中的過濾索引功能。
在創(chuàng)建過濾索引之前,我們需要了解它的適用場景。
我們在創(chuàng)建索引時可以通過一個 WHERE 子句指定需要索引的數(shù)據(jù)行,從而創(chuàng)建一個過濾索引。例如,對于以下訂單表 orders:
CREATE TABLE orders (
id INTEGER PRIMARY KEY,
customer_id INTEGER,
status VARCHAR(10)
);
BEGIN
DECLARE @counter INT = 1
WHILE @counter <= 1000000
BEGIN
INSERT INTO orders
SELECT @counter, (rand() * 100000),
CASE
WHEN (rand() * 100)<1 THEN ‘pending’
WHEN (rand() * 100)>99 THEN ‘shipped’
ELSE ‘completed’
END
SET @counter = @counter + 1
END
END;
網(wǎng)友評論