【问题标题】:SQL Server select data from 100+ tablesSQL Server 从 100 多个表中选择数据
【发布时间】:2018-01-15 23:08:20
【问题描述】:

我有一个数据库,其中包含 100 多个表,其中包含来自传感器的数据;每个传感器一张表。并且使用 100+ union all 并不好。那么,有没有更好的方法来从所有表中收集数据以获取最大利润?

【问题讨论】:

  • 除了union all,你别无选择,那就用吧。
  • 每个传感器有一个表的任何特殊原因?
  • 为什么每个传感器都有一张桌子?为什么不能使用 UNION ALL?你能改变结构的任何东西吗?您是否可以临时创建一个保存表,以便在使用前将所有数据插入其中?
  • 创建一个内部“union all”的视图,然后将其用作表格
  • 假设表具有相似的命名约定,您可以编写一个存储过程来从名称匹配模式的 sys.tables 中选择,将它们插入到临时表中,然后从中进行选择。

标签: sql-server database


【解决方案1】:

正如其他评论者所指出的,union all(可选地打包到视图中)是这里唯一的解决方案。

但是,最好了解一下certain caveats and limitations,SQL Server 对具有大量union 语句的查询施加了影响。如果运气好的话,您的公司最终可能会达到这些限制之一,这可能会迫使管理层重新考虑数据库设计的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-15
    • 2021-02-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-22
    • 1970-01-01
    • 2012-11-05
    相关资源
    最近更新 更多