【问题标题】:Azure SQL takes a very long time to run SELECT * FROM INFORMATION_SCHEMA.TABLESAzure SQL 需要很长时间才能运行 SELECT * FROM INFORMATION_SCHEMA.TABLES
【发布时间】:2019-06-27 08:03:51
【问题描述】:

我尝试将 Azure SQL 数据库与 Tableau 结合使用来可视化数据。第一个问题是 Tableau 在启动时连接到 db 需要很长时间(大约 10-30 分钟)。连接后,它工作得很快。我提供了一些调查并确定当我尝试在 Sql Server Management Studio 中扩展数据库的表列表然后我运行 SELECT * FROM INFORMATION_SCHEMA.TABLES 并且执行时间约为 10 分钟时会发生同样的情况。 db 中的表数 = 63。测试是在与 db 的单个连接时执行的,因此没有任何进程可以锁定服务器,并且所有其他查询都可以正常工作。 有什么想法会对性能造成如此糟糕的影响吗?

【问题讨论】:

  • 查看您的 azure sql 数据库的性能层。可能会少很多。
  • 它是S1(20 DTU)实例,这一层足以让我对超过5M的行进行分析查询,但对于简单接收系统信息来说还不够?
  • 您可以监视数据库中的两个查询并查看发生了什么。 docs.microsoft.com/en-us/azure/sql-database/…
  • 当然,首先我查看了资源消耗,但这是正常的,最大值约为 40-50%。所有长时间运行的查询都是我真正繁重的分析选择,而这种长期查询中只有一个是巨大的查询,它试图从 sys 视图中获取有关 db 的信息。但该查询不会影响 CPU、数据和日志 IO。执行只需要很长时间
  • 建议您从设置统计配置文件中发布查询计划/输出。信息架构视图往往需要一些开销才能从 SQL Server 系统表转换为这些视图中的格式。您可能需要更大的预留大小以使其编译和执行速度足够快,以使您的应用程序对您有效

标签: sql-server azure-sql-database azure-sql-server


【解决方案1】:

速度慢的原因可能有很多:

  • 您的 Azure SQL 数据库可能处于较低性能层
  • 您可能距离 Azure SQL 数据中心很远。尝试将 Azure SQL 移动到离您所在位置更近的数据中心

有关网络延迟的任何问题请参考链接:https://blogs.msdn.microsoft.com/azuresqldbsupport/2017/10/02/how-to-troubleshoot-slow-performance-after-moving-to-azure-due-to-network-latency/

【讨论】:

  • 我的数据库实例有大约 50-70 毫秒的延迟。此外,我在同一个 Azure SQL Server 上有另一个数据库,其中包含 75 个表,并且从该数据库的 INFORMATION_SCHEMA 中选择表列表花费了不到 1 秒的时间。此外,在 INFORMATION_SCHEMA 出现问题的 db 中用户表的所有其他查询都具有非常好的性能
猜你喜欢
  • 1970-01-01
  • 2013-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多