Sql Server - Index on nvarchar field

前端 未结 3 1347
暗喜
暗喜 2021-02-07 11:25

What is the good approach to keep a nvarchar field unique. I have a field which is storing URLs of MP3 files. The URL length can be anything from 10 characters to 4

3条回答
  •  情歌与酒
    2021-02-07 12:16

    You could use CHECKSUM command and put index on column with checksum.

    --*** Add extra column to your table that will hold checksum
    ALTER TABLE Production.Product
    ADD cs_Pname AS CHECKSUM(Name);
    GO
    
    --*** Create index on new column
    CREATE INDEX Pname_index ON Production.Product (cs_Pname);
    GO
    

    Then you can retrieve data fast using following query:

    SELECT * 
    FROM Production.Product
    WHERE CHECKSUM(N'Bearing Ball') = cs_Pname
    AND Name = N'Bearing Ball';
    

    Here is the documentation: http://technet.microsoft.com/en-us/library/ms189788.aspx

提交回复
热议问题