关于java执行mysql时,遇到大量的数据,检索速度太慢

zhouweido 2015-10-20 07:45:44
我是在连接池链接的数据库,数据库中有30000000+条数据,当我模糊查询和按照条件查询时,会变得特别慢。我的sql也是用以sum()、count()的sql,想让程序跑的快一点,在下小白,望大神指教!以后有什么需要帮忙的,不需要集齐七龙珠,招呼一声肯定尽力!谢谢啦!
...全文
865 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
哈哈gogo 2019-08-18
  • 打赏
  • 举报
回复
已经转golang了
CS_草祭先生 2019-08-18
  • 打赏
  • 举报
回复
个人建议增加测算功能,以前我们系统就这样做过。 意思就是跟缓存差不多,前提是实时性无法保证。 前期将需要统计的数据,按照所有可能性的条件测算出来,保存到物理表这,这张表只保存统计结果。 这张表有检索条件、结果必要的字段。当客户查询时,只要根据条件查询这张表就行了,结果都是秒出的。
编程写手 2019-08-18
  • 打赏
  • 举报
回复
楼主去学mysql优化即可解决问题
baidu_15521915 2015-10-21
  • 打赏
  • 举报
回复
我的情况与楼主类似。。。我的语句是 String sql = "select deptandplat_acronym,login_number,login_number_cn,action_type,sum(case when action_time>='"+last_day_start+"' and action_time<='"+last_day_end+"' then 1 else 0 end) last_day,"+ "sum(case when action_time>='"+avg_day_start+"' and action_time<='"+avg_day_end+"' then 1 else 0 end) avg_day,"+ "sum(case when action_time>='"+last_month_start+"' and action_time<='"+last_month_end+"' then 1 else 0 end) last_month,"+ "sum(case when action_time>='"+avg_month_start+"' and action_time<='"+avg_month_end+"' then 1 else 0 end) avg_month from original_profession_logs" + whereSql + "group by deptandplat_acronym,login_number,action_type order by last_day desc,avg_day desc,last_month desc,avg_month desc"; 表是分区表,按action_time分区,这个语句时间最大跨度是三个月,每次查询时间都要好几秒。 同求高手解决,如何优化。
这个逗b 2015-10-21
  • 打赏
  • 举报
回复
spring +hibernate 把数据放到缓存中去,直接在缓存中查找? 这样可行么?
疯狂熊猫人 2015-10-21
  • 打赏
  • 举报
回复
java有个毛线的检索机制啊。这种问题,基本就是sql优化和程序设计的问题。 知道sql执行计划吗?你可以通过这个来优化一下sql语句。 另外就是考虑把数据查询到内存中,然后利用java程序执行计算,毕竟java可以使用多线程并行计算的
zhouweido 2015-10-20
  • 打赏
  • 举报
回复
楼上说的我明白,但是我的数据库已经分表了,大概一张表中有一两百万的数据,要是查询所有的话还可以,但是我的sql样本是这样的“select count(),count(),count(),sum(),sum() from tableName where {这里是一个日期判断,两个日期相差一百天或者三十天的公式} and '列名' like ‘%参数%’ and '列名'=‘参数’ group by 列名” 这样下来我的程序使用单纯的老套路就会变得非常慢,听说Java有一种检索机制,哪个大神明白,指点一二
XxiaoxiaoL 2015-10-20
  • 打赏
  • 举报
回复
我能想到 的就是,如果是统计什么的,实时性要求不高的话,可以每天晚上统计好,查询的时候直接用事先统计好的!还有就是你可以结合你自己的业务分库、分表!

50,599

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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