ฉันกำลังดิ้นรนเพื่อค้นหาเอกสารใด ๆ เกี่ยวกับวิธีที่ SQL Server จัดเก็บคอลัมน์ที่คำนวณได้แบบไม่ยืนยัน
นำตัวอย่างต่อไปนี้:
--SCHEMA
CREATE TABLE dbo.Invoice
(
InvoiceID INT IDENTITY(1, 1) PRIMARY KEY,
CustomerID INT FOREIGN KEY REFERENCES dbo.Customer(CustomerID),
InvoiceStatus NVARCHAR(50) NOT NULL,
InvoiceStatusID AS CASE InvoiceStatus
WHEN 'Sent' THEN 1
WHEN 'Complete' THEN 2
WHEN 'Received' THEN 3
END
)
GO
--INDEX
CREATE NONCLUSTERED INDEX IX_Invoice ON Invoice
(
CustomerID ASC
)
INCLUDE
(
InvoiceStatusID
)
GO
ฉันได้รับมันถูกเก็บไว้ที่ระดับลีฟ แต่ถ้าค่าไม่คงอยู่จะเก็บไว้ได้อย่างไร? ดัชนีช่วย SQL Server ค้นหาแถวเหล่านี้ในสถานการณ์นี้ได้อย่างไร
ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก
ขอบคุณมาก,
แก้ไข:
ขอบคุณ Brent & Aaron ที่ตอบคำถามนี้นี่คือ PasteThePlanอย่างชัดเจนซึ่งแสดงสิ่งที่พวกเขาอธิบาย