gpt4 book ai didi

sql-server - 这些 sys.sp_* 存储过程在做什么?

转载 作者:行者123 更新时间:2023-12-03 12:29:32 31 4
gpt4 key购买 nike

我正在追踪我的 SQL Server 安装中的一个奇怪而巨大的性能问题。在我的系统上,执行一个特定的存储过程需要 2 分钟;在同事的系统上,它只需要不到 1 秒的时间。我们有相似的数据库/数据和配置,但显然有一些非常不同的地方。

我在两个系统上通过 Profiler 运行了有问题的 SP,发现了一些奇怪的东西。在我的系统上,我看到 9 个具有以下属性的条目:

  • 与其他行相比,持续时间要高得多。我的值最高为 37,698,最低为 1734。在“快速”系统上,最大持续时间(对于整个 SP 调用)为 259。
  • 它们针对与包含我正在运行的 SP 的数据库相关的两个数据库执行。 (此 SP 通过链接服务器调用这两个数据库)。
  • 它们是以下系统 SP 之一的执行:
    • sp_tables_info_90_rowset
    • sp_check_constbytable_rowset
    • sp_columns_90_rowset
    • sp_table_statistics2_rowset
    • sp_indexes_90_rowset

我找不到任何 Googleable documentation这些是什么,为什么它们会这么慢,或者为什么它们会在一个系统上运行而不是另一个系统。有谁知道它们的全部内容吗?

最佳答案

尝试手动更新该表的统计信息。


更新统计信息 [表名]

然后仔细检查 AutoUpdateStatistics 的数据库选项是否为 TRUE。不过,即使是这样,我也见过这样的情况,即向表中添加大量数据并不总是会导致统计信息及时更新,而且查询速度可能会很慢。

关于sql-server - 这些 sys.sp_* 存储过程在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2283695/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com