Java VS中的大数据库调用+解析许多数据库调用

问题描述 投票:0回答:1

我有一个项目,该项目在仪表板的MySQL表中计算特定条件的实例。它起初很简单,但是在几次“您可以添加...”请求之后,我的程序中多达86个不同的查询。我希望将来会有更多“可以添加...”请求。

为了提高效率,将大量数据批量查询到Java,然后在Java中进行排序/计数,还是继续进行单个查询会更好/更快?

桌子很小,现在<300行,如果那很重要,我看不到它爬到900行以上。

java mysql
1个回答
0
投票

[所有查询都是“ SELECT count(*),其中[条件A],[条件B]和[条件C]”的变体。它设置为每5分钟运行一次。

有关此类查询的提示:表达式的SUM()为1或0与表达式为true的行的COUNT()相同。这是一个方便的MySQL特有技巧(其他SQL实现不会将true / false与1/0相同)。

SELECT
  SUM(<condition A>) AS count_A,
  SUM(<condition B>) AS count_B,
  SUM(<condition C>) AS count_C,
  ...
FROM mytable

这使您可以运行一个查询来一次扫描表,同时“计数”具有不同条件的行。

一旦您知道有关SUM()的技巧,它就非常简单,并且易于向查询中添加更多列以获取其他类型的计数。

© www.soinside.com 2019 - 2024. All rights reserved.