Sql-Server
NTEXT、索引和 lob 邏輯讀取
我們有一個可以從覆蓋索引中受益的查詢,但其中一個將返回的列是 NTEXT 數據類型。我知道這不能添加到索引中,而且我也知道將列轉換為 nvarchar(max) 會很好,但是因為這是第 3 方應用程序(它的 Microsoft Dynamics!),我們目前無法執行此操作.
這些問題看起來是作為 RID 查找的一部分執行的所有 lob 邏輯讀取。有沒有辦法加快這個速度?
是否允許在表中添加計算列或創建物化視圖?
您可以添加一個計算列,然后索引:
ALTER TABLE <table> ADD ntext_as_nvarchar_max AS CAST(ntext_column AS NVARCHAR(MAX)) ; CREATE INDEX index_name ON <table> (<index_columns>) INCLUDE (ntext_as_nvarchar_max) ;
這種方法的問題是您的查詢必須引用新的計算列 (
ntext_as_nvarchar_max
) 而不是要使用的索引的原始列。在**SQL-Fiddle進行測試**