時(shí)間:2024-02-05 12:47作者:下載吧人氣:16
大家好,我是只談技術(shù)不剪發(fā)的 Tony 老師。
Microsoft SQL Server 過(guò)濾索引(篩選索引)是指基于滿足特定條件的數(shù)據(jù)行進(jìn)行索引。與全表索引(默認(rèn)創(chuàng)建)相比,設(shè)計(jì)良好的篩選索引可以提高查詢性能、減少索引維護(hù)開(kāi)銷并可降低索引存儲(chǔ)開(kāi)銷。本文就給大家介紹一下 Microsoft SQL Server 中的過(guò)濾索引功能。
在創(chuàng)建過(guò)濾索引之前,我們需要了解它的適用場(chǎng)景。
我們?cè)趧?chuàng)建索引時(shí)可以通過(guò)一個(gè) WHERE 子句指定需要索引的數(shù)據(jù)行,從而創(chuàng)建一個(gè)過(guò)濾索引。例如,對(duì)于以下訂單表 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)友評(píng)論