GROUP BY 的索引问题

houyizhinv 2011-06-25 12:01:49
select User,Sex count(*) from table_User
group by User,Sex


table_User上有User,Sex的联合索引
为什么这条语句不走索引?
如果要用索引 应该怎么建立索引?
...全文
1219 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
houyizhinv 2011-06-25
  • 打赏
  • 举报
回复
大虾。。吃饭去了么、。。。
houyizhinv 2011-06-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bobo12082119 的回复:]
索引一般建立在检索数据的列上,如where select_condition_column
而不是排序或者分组的属性列上;
[/Quote]
那么大虾 这个语句现在是
select User,Sex count(*) from table_User
where time < to_date('2011-06-17','yyyy-mm-dd')
group by User,Sex
stime已经做了索引
还能有优化的空间吗?
304的的哥 2011-06-25
  • 打赏
  • 举报
回复
304的的哥 2011-06-25
  • 打赏
  • 举报
回复
索引一般建立在检索数据的列上,如where select_condition_column
而不是排序或者分组的属性列上;
houyizhinv 2011-06-25
  • 打赏
  • 举报
回复
哦 好的 谢谢了
304的的哥 2011-06-25
  • 打赏
  • 举报
回复
最好不要在建有索引的时间字段上使用任何函数,除非建有基于函数的索引。

如果time字段上已经建立的索引,那么这种写法就能够很好的利用索引:
where time < to_date('2011-06-17','yyyy-mm-dd')

17,382

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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