猿问

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

我有一个项目,用于计算仪表板的 MySQL 表中特定条件的实例。一开始很简单,但在几次“你可以添加...”请求之后,我的程序中出现了多达 86 个不同的查询。我预计未来会有更多“您可以添加...”请求吗?

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

该表很小,现在 <300 行,而且我看不到它会超过 900 行(如果这很重要的话)。


茅侃侃
浏览 88回答 1
1回答

蝴蝶不菲

所有查询都是“SELECT count(*) where [条件 A] 和 [条件 B] 和 [条件 C]”的变体。它设置为每 5 分钟运行一次。针对此类查询的提示:表达式为 1 或 0 的 SUM() 与表达式为 true 的行的 COUNT() 相同。这是一个方便的 MySQL 特定技巧(其他 SQL 实现不会将 true/false 视为与 1/0 相同)。SELECT&nbsp; SUM(<condition A>) AS count_A,&nbsp; SUM(<condition B>) AS count_B,&nbsp; SUM(<condition C>) AS count_C,&nbsp; ...FROM mytable这使您可以运行一个查询来扫描表一次,同时“计算”具有不同条件的行。一旦您了解了 SUM() 的技巧,它就非常简单,并且可以轻松向查询添加更多列以获取其他类型的计数。
随时随地看视频慕课网APP

相关分类

Java
我要回答