有没有更好的办法来优化查询条件?

hushuowang 2006-10-12 10:42:11
我的查询语句的条件是 where Name='aa' and TypeID in(60,61,59,58)但是我发现用in后的对数据库的性能并不是很好,就是对表的逻辑读次数非常多,由于数据量非常大,所以容易造成数据库慢。怎么样来优化这个查询语句呢?由于 TypeID这个字段的值很多,所以也不适合where Name='aa' and TypeID=60 or Name='aa' and TypeID=61......大家有没有好的优化办法,谢谢了。
...全文
178 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hushuowang 2006-10-13
  • 打赏
  • 举报
回复
感觉还有很慢~~~
头大了。
fcuandy 2006-10-12
  • 打赏
  • 举报
回复
这里in上亦可利用索引.
yitangliang 2006-10-12
  • 打赏
  • 举报
回复
如果合适,是否可以在name上做索引?用in的确不怎么快!
fcuandy 2006-10-12
  • 打赏
  • 举报
回复
SQL会自动将 in(常量集合)转换为 or 的方式来查询.
无甚其它好法.
whw123456 2006-10-12
  • 打赏
  • 举报
回复
用条件>和<限定范围是不是要好一些呢~~~`
hushuowang 2006-10-12
  • 打赏
  • 举报
回复
而且between的逻辑读次数也非常多~
hushuowang 2006-10-12
  • 打赏
  • 举报
回复
恩,这个我也考虑过,但是他只适合这个,因为有些是in查询是没有规律的。虽然都是数字。就好比存在TypeID in(10,24,17)这类的就不好用between了~
gahade 2006-10-12
  • 打赏
  • 举报
回复
用between 58 and 61呢?

34,576

社区成员

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

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