最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

sqlserver 多表關(guān)聯(lián)時(shí)在where語句中慎用trim()方法

 更新時(shí)間:2009年09月12日 22:12:56   作者:  
最近做的一個(gè)項(xiàng)目由于前期數(shù)據(jù)庫設(shè)計(jì)不合理,導(dǎo)致多表關(guān)聯(lián)的主外鍵長(zhǎng)度設(shè)計(jì)不一致,以致過長(zhǎng)主外鍵中過長(zhǎng)的字段在填入相同字段時(shí),多余部分被填入空字符。迫于無奈,就在多表關(guān)聯(lián)的where語句中使用了trim()方法。
類似如下:

select A.key,B.key,C.key from A,B,C where trim(A.key)=trim(B.fk) and trim(A.col)=trim(C.pk)。

在主表A(200多條記錄)關(guān)聯(lián)附表B(4萬多條記錄)時(shí)用了1秒鐘時(shí)間,該值在不同機(jī)器執(zhí)行可能有所差異,但比不加trim速度稍微慢一些,但是不是特別明顯。

其sql語句類似如下:

select A.key,B.key from A,B where trim(A.key)=trim(B.fk)

但是,在上面sql語句中加入第三個(gè)表C(兩條記錄)后,Sql語句如下:

select A.key,B.key,C.key from A,B,C where trim(A.key)=trim(B.fk) and trim(A.col)=trim(C.pk)

整個(gè)sql語句執(zhí)行了差不多70多秒鐘。比不加trim()方法多發(fā)費(fèi)了60奪秒。

后來,通過若干實(shí)驗(yàn)發(fā)現(xiàn)這種where中多表關(guān)聯(lián)條件,如果不在左邊關(guān)聯(lián)條件處加trim()方法即可達(dá)到基本等同于一般多表關(guān)聯(lián)的效率。

改良后的sql語句如下:

select A.key,B.key,C.key from A,B,C where A.key=trim(B.fk) and A.col=trim(C.pk)

此條sql語句執(zhí)行效率基本等同于where語句中無trim()的sql語句速度了。

相關(guān)文章

最新評(píng)論

远安县| 林周县| 龙岩市| 浙江省| 金堂县| 慈溪市| 兖州市| 黑龙江省| 右玉县| 三都| 额尔古纳市| 河北省| 界首市| 西宁市| 石楼县| 辽中县| 闻喜县| 东宁县| 巴彦淖尔市| 灵宝市| 电白县| 浪卡子县| 宁化县| 新化县| 广德县| 灵石县| 高平市| 黄龙县| 隆回县| 呼伦贝尔市| 五大连池市| 高阳县| 开江县| 大庆市| 武功县| 荣成市| 卢龙县| 集贤县| 涪陵区| 丹巴县| 南华县|