首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

两数据量稍大的表关联,怎么提效

2012-02-24 
两数据量稍大的表关联,如何提效左表:tb1MobileNO13001023456....右表tb2S_NUMS_TYPES_PROVINCES_XZQ_NAMES

两数据量稍大的表关联,如何提效
左表:
tb1
MobileNO
13001023456
....
右表
tb2
S_NUMS_TYPES_PROVINCES_XZQ_NAMES_AREACODE
1300000联通130     北京市                     北京市                   010
1300001联通如意通卡   江苏省   常州市                   0519
1300006联通130卡         江苏省   南京市                   025
1300010联通130卡         北京市   北京市                   010
.......
现在相根据tb1.MobileNO与tb2.S_NUM的关系进行关联,查找出tb1中13001023456对应tb2的S_AREACODE,写如下语句:
select   tb1.MobileNO,tb2.S_AREACODE   from   tb1   left   outer   join   tb2
on   charindex(tb2.S_AREACODE,tb1.MobileNO)=1
问题:当左表有两万条记录,右表中始终是十万条的记录时,如何做才能让结果集快速显示?(子查询试过了,索引加过,感觉速度还是极慢)

[解决办法]
看看查询计划用的是那种联结
[解决办法]
試下這個呢?

select tb1.MobileNO,tb2.S_AREACODE from tb1 left outer join tb2
on tb1.MobileNO Like tb2.S_AREACODE + '% '

[解决办法]
“查找出tb1中13001023456对应tb2的S_AREACODE”是什么意思?
charindex(tb2.S_AREACODE,tb1.MobileNO)=1
体现了什么关系?

热点排行