永続化された計算列をテーブルに追加しました。
ALTER TABLE guest
ADD FullName AS
dbo.complicatedFunction(ISNULL(FirstName, N'') + ISNULL(LastName, '')) PERSISTED
GO
また、そのフィールドに非クラスター化インデックスを追加しました。
そのテーブルから選択を実行し、その列をwhereステートメントに含めると、実行に非常に時間がかかります。
永続化された列を式に直接置き換えてみましたが、実行に同じ時間がかかるため、そのテーブルから何かを選択しようとすると、すべての行に対してFullNameフィールドが再計算されていると思いました。
どうすればその再計算を回避し、クエリでインデックスを使用できるようになりますか?