一张大表(>1000万数据),要对他进行各种不同条件的查询,将每个结果的count显示在首页,例如:今日等待A任务数:XX
今日等待B任务数:YY
今日等待C任务数:ZZ用户有几十个种类的任务数需要显示,现在每一个单独的查询用时需要0.5-1秒(已经无法再优化了,查询条件比较复杂),这样全部加载出来就要将近1分钟。我试了将这些统计在多线程中执行,想让他们有部分能够并行执行,但是由于oracle自己会限制同时发起连接数,所以效果不明显,只提升了不到20%。请问有什么好的思路能够提升加载速度?
今日等待B任务数:YY
今日等待C任务数:ZZ用户有几十个种类的任务数需要显示,现在每一个单独的查询用时需要0.5-1秒(已经无法再优化了,查询条件比较复杂),这样全部加载出来就要将近1分钟。我试了将这些统计在多线程中执行,想让他们有部分能够并行执行,但是由于oracle自己会限制同时发起连接数,所以效果不明显,只提升了不到20%。请问有什么好的思路能够提升加载速度?
考虑其他方法吧
如果可以延时查询 可以用job跑出统计值插入一张表中
如果当天实时查 可以将今天的数据先用一张新表存储 晚上在转入实际表中
不然好像没什么别的办法的
比如我们这一个程序,4个CPU时10个线程数性能最优,当然具体情况还与你环境有关