T-SQLのハッシュインデックス


          (    varchar
varchar ), , 。 varchar(max)、nvarchar(max) varbinary(max) 。 , 。 。 89.3 。 。 : CREATE TABLE tb ( id INT IDENTITY(1, 1) PRIMARY KEY, name VARCHAR(max), address nvarchar(120), phone varchar(32), cks_name AS Checksum(name) ) go -- 40000 WITH cte AS (SELECT NUMBER + 1 AS NUMBER FROM master..spt_values a WHERE a.TYPE = 'P' And NUMBER < 200) INSERT INTO tb SELECT Cast(Newid() AS VARCHAR(50)) + Cast(Newid() AS VARCHAR(50)) + Cast( Newid() AS VARCHAR(50)) + Cast(Newid() AS VARCHAR(50)) + Cast( Newid() AS VARCHAR(50)) + Cast(Newid() AS VARCHAR(50)) + Cast( Newid() AS VARCHAR(50)) ,' 、 、 。 NB ' ,'15813149988' FROM cte a CROSS JOIN cte b go -- CREATE INDEX tb ON hash_index(cks_name) go -- SELECT * FROM tb with(nolock) WHERE name = 'C3AA9897-9303-48C9-B2C2-758C0FFE0BB1ABB3F6FB-BC2C-45DF-B40A-E3DA413AD91E1A598E90-31FE-4F54-B468-0D085A191DA37A35782D-B048-4A6B-89CA-00A15FC1467E0235D0F1-A9EA-4908-9531-3D787C7E7AAA2E6DB162-1099-4B3B-BF93-261B87660B1359768A42-F9F7-4107-9D57-BCB91EEF3CD5' AND cks_name = Checksum( 'C3AA9897-9303-48C9-B2C2-758C0FFE0BB1ABB3F6FB-BC2C-45DF-B40A-E3DA413AD91E1A598E90-31FE-4F54-B468-0D085A191DA37A35782D-B048-4A6B-89CA-00A15FC1467E0235D0F1-A9EA-4908-9531-3D787C7E7AAA2E6DB162-1099-4B3B-BF93-261B87660B1359768A42-F9F7-4107-9D57-BCB91EEF3CD5' ) http://topic.csdn.net/u/20120515/17/3a6b9d53-8abe-496f-8e07-3a6fc73817e9.html