私はこのテーブルを持っている:SQL Serverでは、「AS」列のインデックスを作成できますか?
CREATE TABLE [dbo].[Kanji]
(
[KanjiId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
[Text] NVARCHAR(5) NOT NULL,
[Freq] INT NULL,
[Grade] INT NULL,
[Hash] AS (CONVERT([bigint], hashbytes('md5', [Name])) % (5) + (5)),
}
私はText
、その後Hash
によってインデックスにしたいと思います。しかし、AS
式で計算される列では可能ですか?もし私が考慮すべきパフォーマンス上の問題があれば?追加することにより
CREATE TABLE [dbo].[Kanji]
(
[KanjiId] UNIQUEIDENTIFIER DEFAULT (newid()) NOT NULL,
[Text] NVARCHAR(5) NOT NULL,
[Freq] INT NULL,
[Grade] INT NULL,
[Hash] AS (CONVERT([bigint], hashbytes('md5', [Text]) % (5) + (5))) PERSISTED
)
:あなたの式はHash
ファイル...あなたはText
のハッシュを取るためのものと仮定すると、
を作成するので、何Name
列は、あなたのテーブルに
https://docs.microsoft.com/en-us/sql/relational-databases/indexes/indexes-on-computed -columns – artm
あなたは*試しましたか?もしそうなら、それは成功したか、エラーメッセージを返しますか?それはインターネット上のランダムな見知らぬ人に尋ねるよりも速いアプローチに見えるだろう。 –