亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

checksum建立的索引

系統(tǒng) 1581 0

朋友的一個checksum計算列建立的索引:

在數(shù)據(jù)庫設(shè)計中需要一列標(biāo)注網(wǎng)頁的URL地址,LINK NVARCHAR(1000)。在INSERT的時候需要判斷之前有無同樣的URL地址記錄被插入。
也就是用select top 1 @ID=ID from Table where Link=@Link,然后判斷@ID值是否大于0。
如果數(shù)據(jù)量過大,需要給LINK加為索引,但是這時會發(fā)現(xiàn)SQL SERVER的索引對那么大的NVARCHR是無法建立的,限制在200字符以內(nèi)。
我在最早的時候解決這個問題是采用了對LINK進(jìn)行MD5化,MD5的值只有幾十個字符長,然后對MD5結(jié)果進(jìn)行索引。但這樣做性能其實一般,而且大字段的數(shù)據(jù)庫索引同樣會占用不少存儲空間。
其實在SQL SERVER中可以設(shè)置計算字段,就是說該字段是可以是其他字段的計算結(jié)果。這樣的話就用CHECKSUM來優(yōu)化上述的索引問題。
做法范例:

      alter table tablename add csLink as CHECKSUM(Link)。
    

?

這樣就建立一個csLink列,生成的CHECKSUM值是一個大的整數(shù)。對該列進(jìn)行索引,相當(dāng)于對BITINT型進(jìn)行索引,索引存儲空間也非常節(jié)約。這樣在判別有無重復(fù)LINK的時候就使用:

      select top 1 @ID=ID from Table where csLink=CHECKSUM(@Link) And Link=@Link
    

?

數(shù)據(jù)庫會優(yōu)先判斷csLink索引字段,而實際測試100萬條記錄的CHECKSUM,無一重復(fù),所以第一次匹配的返回條數(shù)是極少的,基本可以做到一批匹配,而考慮肯能會有重復(fù)記錄,因此再加上And Link=@Link,這樣是在小的數(shù)據(jù)集中再次做無索引匹配,這樣性能損耗幾乎沒有感覺。

計算字段給我感覺就好像視圖,計算字段的靈活度除了簡化查找SELECT語句之外,對索引優(yōu)化的作用是非常大的。CHECKSUM的用法只是發(fā)現(xiàn)之一,在今后一定會發(fā)現(xiàn)更多的有用的TIPS

checksum建立的索引


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 日本视频三区 | 久久91精品牛牛 | 欧美一级毛片免费播放器 | 久久精品视频9 | 成人18网址在线观看 | 97久久久久国产精品嫩草影院 | 国内精品久久久久久中文字幕 | 亚洲精品免费在线视频 | 久久er国产精品免费观看2 | 成人短视频在线 | 欧美日韩亚洲国产一区二区综合 | 亚洲久久久久 | 成人精品国产亚洲 | 最近中文字幕在线视频1 | 日韩一区二区国色天香 | 日本一级毛片视频在线看 | 欧美性色黄大片一级毛片视频 | 一级毛片免费网站 | 日本久久网 | 奇米第四色在线视频 | 中文字幕亚洲综合精品一区 | 日本中文字幕在线观看视频 | www久久爱com | 国产在线视频h | 色黄啪啪网18以下勿入 | 91亚洲精品久久 | 久在线精品视频 | 婷婷在线视频国产综合 | 免费一级大毛片a一观看不卡 | 欧美深度肠交惨叫 | 国产视频国产 | 伊人色综合久久天天爱 | 国产在热线精品视频国产一二 | 91中文字幕在线视频 | 欧美美女一区二区三区 | 国产成人综合在线视频 | 国产精品国产亚洲精品看不卡 | 中文字幕第一页国产 | 干干日日 | 久久婷婷五综合一区二区 | 天天操天天摸天天爽 |