SQL Server Hash Indexes

There are two problems with indexes on large nvarchar columns:

  • You will likely hit the 900 byte limit in your index
  • Indexing large data isn’t efficient anyway.

A neat feature of SQL Server is the CHECKSUM() function which hashes your varchar/nvarchar values into a 4 byte number. You can then use this value in an index. For example if you have a Site table, add a calculated column, URLChecksum.

CREATE TABLE Site (
  SiteID int NOT NULL,
  URL nvarchar(2083) NOT NULL,
  URLChecksum AS (checksum([URL])),
 CONSTRAINT [PK_Site] PRIMARY KEY CLUSTERED (SiteID)
);

Next create an index on the hash and include the URL:

CREATE INDEX IX_Site ON Site (URLChecksum) INCLUDE (URL);

This index will make the following query faster:

SELECT SiteID
FROM Site
WHERE URLChecksum = CHECKSUM(N'http://www.microsoft.com/downloads/details.aspx?familyid=9a8b005b-84e4-4f24-8d65-cb53442d9e19&displaylang=en')
AND URL = N'http://www.microsoft.com/downloads/details.aspx?familyid=9a8b005b-84e4-4f24-8d65-cb53442d9e19&displaylang=en';

This query will first “seek” the hash value in the index very quickly, since the hash values are just ints. Once it finds one or more matching hash values, it will check that the URLs match. Since the URLChecksum, URL, and SiteID values are included in the index, this query does not need to touch the Site table.

About Clay Lenhart

I am a DBA/Technical Architect for Latitude Group and love technology.
This entry was posted in SQL Server Development. Bookmark the permalink.

7 Responses to SQL Server Hash Indexes

  1. Pingback: Hash Index | petersnotebook

  2. [url=http://www.brandiwc.com/brand-super-11-copy-0.html]一項ごとに作品だけ1種あるいは多種の衰えぬ人気のタブ技術、例えば垂直使用雕刻刀の斜め曲線エッチング術、明るさと同時にアップに際立って飾り物;や透かし雕り技術、必要でまずカッター彫っ彫刻して飾るモデル、更に磨き滑らかな波紋ヤスリ。さまざまな花模様を反映している別のスキルは、例えば「勿忘草」柄の内を見せたエナメルケースエナメル大師非凡な技芸風変わりな黒金ケースは、鉛、銅、銀、硫黄やアンモニア塩の混合物にモデルに象眼して、それからエナメル大師窯に焼き、余分の材料をヤスリで磨き、より滑らかな表面を、植物の図案が現れる。宝石をちりばめ部分、ターコイズとガーネットを体現した芸術家に鮮やかな色を活用する。スーパーコピー時計は1項、靑いエナメル文字盤の黄金のブローチ表には、明るい色の宝石が真に迫っていて演じたみずみずしい花一輪エデンを静かに咲く。[/url]

  3. [url=http://www.wtobrand.com/pr1.html]もっと錦上に花を添えるの来場者は、また感じる「Rolex(ロレックス)愛の中国」というメッセージ、そして有事での証。まず、Rolex(ロレックス)が中国で多額の投資。ロレックスコピー次に、それと競争相手と同じで、積極的に賛助中国スター、彼らを招待ブランド。を含む世界ランキング第五の中国网坛名将李娜(2011年フランスオープン女子シングルス優勝、そしてここから1位になって、グランドスラム大会に優勝したアジア選手)、そのチームメイト郑洁(かつて摘みのグランドスラムダブルス)、中国の順位の第1のゴルファーの梁文冲や、国際上で高い名声を有し中国人ピアニスト王羽佳とユンディ・リ。[/url]

  4. [url=http://www.brandiwc.com/brand-7-copy-0.html]ブライトリングエアロマリンコピー時計の保護コーティングは、反時計方向に移動する、しばしば時計ダイバーで発見、tarnishing.Anベゼルを回転させる経過時間を防止するために添加されてもよいです 0.927600417 日本最高級スーパーコピーブライトリングエアロマリン時計通販専門店,高品質ブライトリングエアロマリンコピー,2015最新作、業界唯一無二.世界一流の高品質ブライトリングエアロマリンコピー,当店はスーパーコピー4専門店 . 0.166407381 ブライトリングエアロマリンスーパーコピー時計の手は主に白であるためには、のフレームも白色であるので、はやや困難に確認することができます . おすすめ人気ブライトリングエアロマリン時計,ブライトリングエアロマリンコピー. 人気ブライトリングエアロマリンコピー日本国内最高品質N級品通販専門店当店のスーパーコピー3時計商品は他店よりも質が高く、金額も安くなっております。[/url]

  5. [url=http://www.bagkakaku.com/RAYBAN_sunglasses.html]2016秋冬最適ウブロコピー腕時計皆さん、こちらへどうぞ、ご注意くださいね。2016秋冬がソそろそろ来ますよ。皆様へのいい気持ちを与えることができるため、こういう季節に最適商品が登場しております。ウブロコピー,ウブロスーパーコピー,ウブロコピー時計,ウブロコピー代引き,ウブロコピー 時計通販,ウブロコピー時計販売弊店,は最低の価格と最高のサービスを提供しております。皆様は最高の満足を収穫することができます。▲下記の連絡先までお問い合わせください。是非ご覧ください![/url]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>