两数据量稍大的表关联,如何提效

hrb2008 2007-07-19 02:00:27
左表:
tb1
MobileNO
13001023456
....
右表
tb2
S_NUM S_TYPE S_PROVINCE S_XZQ_NAME S_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
问题:当左表有两万条记录,右表中始终是十万条的记录时,如何做才能让结果集快速显示?(子查询试过了,索引加过,感觉速度还是极慢)
...全文
257 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hrb2008 2007-07-20
  • 打赏
  • 举报
回复
tb1 MobileNO字段对应tb2的S_AREACODE是通过tb1.MobileNO与tb2.S_AREACODE关联.
形式为charindex(tb2.S_AREACODE,tb1.MobileNO)=1
pastbee 2007-07-19
  • 打赏
  • 举报
回复
有兴趣加我的qq群32097372,大家可以好好讨论一下
stswordman 2007-07-19
  • 打赏
  • 举报
回复
“查找出tb1中13001023456对应tb2的S_AREACODE”是什么意思?
charindex(tb2.S_AREACODE,tb1.MobileNO)=1
体现了什么关系?
hrb2008 2007-07-19
  • 打赏
  • 举报
回复
试过了,效果不大
paoluo 2007-07-19
  • 打赏
  • 举报
回复
試下這個呢?

select tb1.MobileNO,tb2.S_AREACODE from tb1 left outer join tb2
on tb1.MobileNO Like tb2.S_AREACODE + '%'
mengnnou 2007-07-19
  • 打赏
  • 举报
回复
看看查询计划用的是那种联结

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧