我有 16 个需要执行的查询。所有这些查询都具有相同的格式:
SELECT string, number, number
Run Code Online (Sandbox Code Playgroud)
将所有这些数据组合在一起对我来说是有意义的,因为它可以创建一个包含所有结果的仪表板。
我的问题是:你认为 aUNION ALL会比一个一个执行所有查询更快吗?
UNION ALL是更快的比UNION。
在 的情况下UNION,如果您有 10 列和 100 行,它将比较每个单元格(即 10*100)以获得不同的值,而在UNION ALL这种情况下并非如此。所以区分的成本很高。
UNION ALL应该可以让您更快地取回数据。
但是,您将如何处理客户端上的数据?如果您必须将其拆分为 16 组单独的数据,则整体执行时间可能会增加。
无论您做什么,您只需要一次对数据库的调用,因此如果您将其保留为 16 个单独的查询,那么最好在一个存储过程(或子存储过程)中调用它们。