十五万数据,有十几个字段要GROUP BY ,还要SUM

oldjackyone 2008-06-26 05:36:50
十五万数据,有十几个字段要GROUP BY ,还要SUM

速度奇慢,有没有好的解决方案?
...全文
147 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianhuo_soft 2008-06-26
  • 打赏
  • 举报
回复
对有唯一标识的字段做聚合索引

在对group by中sum的字段做索引 其他不用
jhwcd 2008-06-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wzy_love_sly 的回复:]
create clustered index id_index on tb(a,b,c)

a,b,c顺序可以互换,没关系,最好是group by 什么字段,就键什么字段,那样速度是最佳
[/Quote]
正解!!!
nzperfect 2008-06-26
  • 打赏
  • 举报
回复

--给GROUP BY后的字段和sum的字段加索引
create index idx_01 on 表名(列一,列二,列三...,sum的字段)
hanjs 2008-06-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wzy_love_sly 的回复:]
create clustered index id_index on tb(a,b,c)

a,b,c顺序可以互换,没关系,最好是group by 什么字段,就键什么字段,那样速度是最佳
[/Quote]


学习了!
正宗老冉 2008-06-26
  • 打赏
  • 举报
回复
小菜正解.


按理说,15万的数据慢不到哪里去.
ChinaITOldMan 2008-06-26
  • 打赏
  • 举报
回复
add index
zzyyc 2008-06-26
  • 打赏
  • 举报
回复
用索引要小心,可能适得其反。
wzy_love_sly 2008-06-26
  • 打赏
  • 举报
回复
你会结帖吗?晕...
wzy_love_sly 2008-06-26
  • 打赏
  • 举报
回复
create clustered index id_index on tb(a,b,c)

a,b,c顺序可以互换,没关系,最好是group by 什么字段,就键什么字段,那样速度是最佳
wzy_love_sly 2008-06-26
  • 打赏
  • 举报
回复
把你的group by a,b,c键上索引,速度会快很多
wzy_love_sly 2008-06-26
  • 打赏
  • 举报
回复
if object_id('tb') is not null
drop table tb
go
create table tb(a int,b int,c int,num int)

create clustered index id_index on tb(a,b,c)

select a,b,c ,sum(num) from tb
group by a,b,c
wzy_love_sly 2008-06-26
  • 打赏
  • 举报
回复
没有

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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