百W条记录的数据查询速度问题

lovewindy 2004-07-08 05:09:40
最近发现库里的数据越来越多了,快突破百W了,查询速度也越来越慢,所以希望在查询中能快则快,
有一个问题想请教各位大哥,
下面两个查询句,哪个快:
select * from table where num in (9,99,999)
select * from table where num=9 or num=99 or num=99
num为重复字段,不知道是用in 速度快还是用or快
如果针对这个查询,要建索引的话,怎么建?
如果库内数据变得很庞大了(有百W条),如何提高查询速度????
...全文
170 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
swordmanli 2004-07-09
  • 打赏
  • 举报
回复
而且我认为本身效率无差异,但in在数据多的时候,写起来多简洁,可读性又好,所以,in要好一些!
lovewindy 2004-07-09
  • 打赏
  • 举报
回复
自己顶下,还没出结果呢,怎么让我结贴啊
wtadminxjeri 2004-07-08
  • 打赏
  • 举报
回复
我怎么觉的上述的两条语句执行速度是一样的
lovewindy 2004-07-08
  • 打赏
  • 举报
回复
楼上的,那in 和 or 哪个好点,
我上次好像听谁说(可能是邹建),他说还是or好,不知道是不是,我也忘了,
swordmanli 2004-07-08
  • 打赏
  • 举报
回复
更正shenqhy(love)的观点!

in and or是相同的!
in建的索引是有用的!


回复人: shenqhy(love) ( ) 信誉:100 2004-07-08 17:12:00 得分: 0


那两条查询语句的查询速度,你可以自己测一下,个人认为还是or的好,

用or了就可以建索引(in的话建了也没用),把num建起来,至于那些什么簇索引什么的,我也不懂

要提高速度,我想只有靠索引了,


frankwong 2004-07-08
  • 打赏
  • 举报
回复
你的机子配置也是问题,记录数不是问题。
skyboy0720 2004-07-08
  • 打赏
  • 举报
回复
在NUM字段上建索引,但索引同时也会影响数据插入的速度!
shenqhy 2004-07-08
  • 打赏
  • 举报
回复
那两条查询语句的查询速度,你可以自己测一下,个人认为还是or的好,

用or了就可以建索引(in的话建了也没用),把num建起来,至于那些什么簇索引什么的,我也不懂

要提高速度,我想只有靠索引了,

34,872

社区成员

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

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