如下查询语句如何优化

tuziwang 2008-02-25 11:25:56
我有一个查询语句select comid,comname from comunion where comid in ('1','2','4','7',......,'11221');将近有5000个元素,执行速度非常慢,高手们能教教我如何优化吗?
...全文
83 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
junshanhudazhaxi 2008-02-25
  • 打赏
  • 举报
回复
如果comid in ('1','2','4','7',......,'11221') 条件不经常更新的话,你可以把你上述的
查询语句的查询结果创建为一个视图,这样就不用每次都执行那个查询来获得数据了。
junshanhudazhaxi 2008-02-25
  • 打赏
  • 举报
回复
select   comid,comname   from   comunion   where   comid   in   ('1','2','4','7',......,'11221');

转换成:
select   comid,comname   from   comunion   where   comid='1'
union all select comid,comname from comunion where comid='2'
....


效率会不会高些呢?没试过。
ioRabbit 2008-02-25
  • 打赏
  • 举报
回复
建立索引
gahade 2008-02-25
  • 打赏
  • 举报
回复
表数据量有多大?大的话分割下表比较好
pt1314917 2008-02-25
  • 打赏
  • 举报
回复
在comid字段上建索引试试``
ziping 2008-02-25
  • 打赏
  • 举报
回复
in 后面的数据放到一个表里面 再做连接 或者EXISTS
xuyiquan1981 2008-02-25
  • 打赏
  • 举报
回复
这样的in 5000个元素根本就不可取,请用其他的方法。对comid加索引然后order comid
SeerMi 2008-02-25
  • 打赏
  • 举报
回复
楼上这个办法也许可行

34,837

社区成员

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

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