Oracle count()的替代法

tangsun1227 2010-01-04 05:47:03
700w条记录
select a1.b1,count(1) as c1 from table t
where d1 > 10 and e1 > 12
group by a1,b1

执行时间大约是16s 有什么办法优化 a1 b1 ;d1 e1 上分别已建普通索引。
...全文
121 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangsun1227 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用楼主 tangsun1227 的回复:]
700w条记录
select a1.b1,count(1) as c1 from table t
where d1 >  10 and e1 > 12
group by a1,b1

执行时间大约是16s 有什么办法优化 a1 b1 ;d1 e1 上分别已建普通索引。
[/Quote]

排查后得之是索引建立不当,将a1,b1和另外一个条件建立了索引,结果本身a1,b1未建立索引,多谢各位了,结贴
duqiangcise 2010-01-04
  • 打赏
  • 举报
回复
select a1.b1,count(1) as c1 from table t
where d1 > 10 and e1 > 12
group by a1,b1

里边的a1.b1是a1,b1还是a1.b1哟,写清楚点!
ACMAIN_CHM 2010-01-04
  • 打赏
  • 举报
回复
创建 (a1,b1,d1) 索引或者 (a1,b1,e1) 的索引。
crazylaa 2010-01-04
  • 打赏
  • 举报
回复
a1,b1上建个联合索引看看?不知道group by有没有用到

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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