gpt4 book ai didi

sql-server - SQL Server 查询占用 100% CPU 并运行数小时

转载 作者:行者123 更新时间:2023-12-02 20:25:36 25 4
gpt4 key购买 nike

我有一个查询已经每天运行两年多了,通常需要不到 30 秒才能完成。昨天,查询突然开始需要 3 个多小时才能完成,并且一直使用 100% CPU。

SQL 是:

SELECT
@id,
alpha.A, alpha.B, alpha.C,
beta.X, beta.Y, beta.Z,
alpha.P, alpha.Q
FROM
[DifferentDatabase].dbo.fnGetStuff(@id) beta
INNER JOIN vwSomeData alpha ON beta.id = alpha.id

alpha.id 是 BIGINT 类型,beta.id 是 INT 类型。 dbo.fnGetStuff() 是一个简单的 SELECT 语句,在同一数据库中的表上有 2 个 INNER JOIN,使用 WHERE id = @id。该函数返回大约 11000 个结果。

View vwSomeData是一个简单的SELECT语句,带有两个INNER JOIN,返回大约590000个结果。

如果单独执行, View 和函数都会在 10 秒内完成。首先将函数的结果选择到临时表中,然后进行连接,使查询在 10 秒内完成。

如何解决发生的问题?我在事件管理器中没有看到任何锁。

最佳答案

查看查询计划。我的猜测是执行计划中有表扫描或者更多。这将导致结果中获得的少数记录产生大量 I/O。

关于sql-server - SQL Server 查询占用 100% CPU 并运行数小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/823635/

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