链接数据库的效率问题?

woai_432 2007-08-29 05:03:18
使用JDBC,根据时间段汇总数据:假如我有10个时间段,:我可以使用两种方法汇总数据:1,查询出全部数据,使用循环,匹配时间。进行汇总。
2.使用SQL中,count()函数与group by 等查询。如果有10个时间段,可能要10次链接数据库查询。
问题:假如有几十万,甚至100万数据。每个时间段也可能有几十万条记录。
使用那种方法,效率高呢?或者哪位可以指导使用其他的方法呢??
现在时间段是10。如果时间段是20个甚至更多呢??
请大家指点。谢谢。
...全文
125 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
maskice 2007-08-30
  • 打赏
  • 举报
回复
顶楼上
woai_432 2007-08-30
  • 打赏
  • 举报
回复
表里没有时间段的字段。只有时间的字段啊。如果使用count.
语句应该是 select count(统计字段) from table where time between 开始时间 and 结束时间。
如果有十个时间段。肯定要连接十次数据库啊!如果有二十个时间段呢。就要链接二十次数据库啊。

还有,我做的这个系统,相当于一个监控系统。数据库是客户的建立管理的。没办法汇总。
feihua317 2007-08-29
  • 打赏
  • 举报
回复
可以考虑用定时器解决,每过一个小时,自动汇总一次,然后产生的数据存到一张新的表里。
数据存储优化!
bushuang 2007-08-29
  • 打赏
  • 举报
回复
哦,你表中没有时间段这个字段,只有时间这个字段?
bushuang 2007-08-29
  • 打赏
  • 举报
回复
连接数据库可以用数据源,这样就不用多次连接数据库了.
1,查询出全部数据,使用循环,匹配时间。进行汇总。
这种方法不好.当数据量过大时,占内存暂且不说,你每条记录都要进行一次匹配还浪费时间,消耗的时间比你连接数据库的时间大的多.
2.使用SQL中,count()函数与group by 等查询。如果有10个时间段,可能要10次链接数据库查询。
用count()函数与group by查询只用一次连接数据库就可以了,为什么要进行10次连接?
比如 select count(统计字段) from 表名 group by 时间段

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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