SQL Server:多个查询或 UNION

Loï*_*Bar 4 sql-server union

我有 16 个需要执行的查询。所有这些查询都具有相同的格式:

SELECT string, number, number 
Run Code Online (Sandbox Code Playgroud)

将所有这些数据组合在一起对我来说是有意义的,因为它可以创建一个包含所有结果的仪表板。

我的问题是:你认为 aUNION ALL会比一个一个执行所有查询更快吗?

Ade*_*eel 6

UNION ALL是更快的比UNION。

在 的情况下UNION,如果您有 10 列和 100 行,它将比较每个单元格(即 10*100)以获得不同的值,而在UNION ALL这种情况下并非如此。所以区分的成本很高。


Pau*_*gle 5

UNION ALL应该可以让您更快地取回数据。

但是,您将如何处理客户端上的数据?如果您必须将其拆分为 16 组单独的数据,则整体执行时间可能会增加。

无论您做什么,您只需要一次对数据库的调用,因此如果您将其保留为 16 个单独的查询,那么最好在一个存储过程(或子存储过程)中调用它们。