所以我有這樣的表結構(簡體)索引視圖尋找空引用不INNER JOIN或子查詢
Create Table Transaction
{
TransactionId INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
ReplacesTransactionId INT
..
..
}
所以我想創建一個索引視圖使得下面的例子將返回舊的數據庫只有第二個角色(因爲它取代了第一個)
Insert Into Transaction (TransactionId, ReplacesTransactionId, ..) Values (1,0 ..)
Insert Into Transaction (TransactionId, ReplacesTransactionId, ..) Values (2,1 ..)
有許多的創建這個查詢的方式,但我想創建一個索引視圖,這意味着我不能使用子查詢,左連接或節選。示例查詢(使用LEFT JOIN)可以。
SELECT trans1.* FROM Transaction trans1
LEFT JOIN Transaction trans2 on trans1.TransactionId = trans2.ReplacesTransactionId
Where trans2.TransacationId IS NULL
很明顯,我堅持數據庫的結構,並希望提高使用數據的應用程序的性能。
有什麼建議嗎?
如果遇到一個明智的查詢不符合索引視圖規則的問題,那麼很可能任何重新編寫查詢都會遇到相同規則或另一個同樣錯誤的規則。我看不到修復您所顯示的查詢。 –