当前位置: 代码迷 >> 其他数据库 >> 关于大数据表的count(distinct)操作优化,该怎么处理
  详细解决方案

关于大数据表的count(distinct)操作优化,该怎么处理

热度:8109   发布时间:2013-02-26 00:00:00.0
关于大数据表的count(distinct)操作优化
有一个表
res_url
id time url 次数 流量 资源类型

每天产生一个URL一条记录 值分别是:时间\URL\访问次数\流量和\资源类型
一天的记录数大概是 50万条的数量级


不同天产生的URL有重复。


目的:查询范围为多天时要求出URL的记录数(如果能求出流量和及次数和更好)

简单说是select count(distinct url) from res_url
但这样查存在严重的性能瓶劲,主要是记录数过多了。distinct操作较慢,看看有没优化的方法。
------解决方案--------------------------------------------------------
假设ID唯一,URL、ID上建立索引
select * from tt a where not exists(select 1 from tt where a.url=url and a.id>id)
  相关解决方案