连接查询速度问题,请教大家,先谢谢啦

aierong 2003-10-24 11:04:33

我有2个表
create table a( i varchar(20),ii int。。。。。。)
create table b( i varchar(20),ii int。。。。。。)

a里面有10万多条记录
b里面有1000多条记录

a,b表的i列的数值都是唯一的,
现在2个表都没有建立索引
我要进行如下查询

1。
select a.*
from a join b
on a.i=b.i

2。
select a.*
from b join a
on b.i=a.i

请教大家,这2种查询方法是不是方法1速度快一些?
再就是分别给a,b表的i列建立索引后,再查询,这2种查询方法在速度上会不会有区别

还有查询3和4在速度上是不是也有区别?
3。
select a.*
from a join b
on a.i=b.i
where a.ii between 1 and 1000

4。
select a.*
from a join b
on a.i=b.i
and a.ii between 1 and 1000
...全文
39 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lynx1111 2003-10-24
  • 打赏
  • 举报
回复
想知道结果!mark
lvltt 2003-10-24
  • 打赏
  • 举报
回复
学习
aierong 2003-10-24
  • 打赏
  • 举报
回复


我试验了一下
没有索引的情况下,好像是一样的
不知道为什么

还有,你要是在2个表的i列上面分别建立非聚集索引再进行查询,查询只会利用第一个表的索引,而对第2个表进行扫描

要是在2个表的i列上面分别建立聚集索引再进行查询,就会同时利用2个表的索引啦

这是怎么回事?
friendliu 2003-10-24
  • 打赏
  • 举报
回复
一样的吧。。
txlicenhe 2003-10-24
  • 打赏
  • 举报
回复
局长在研究这个啊? 我倒觉得应该是一样的。

34,874

社区成员

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

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