在我当前的项目中,我们遇到了一个非常奇怪的问题,即针对我们的 sql server 数据库的选择查询。
我们在部署后第一次运行查询永远不会完成。然后,如果我们停止查询并重新运行它,它会立即完成。
当我们第一次发出查询时,我们没有其他任何东西在运行,所以我看不出它是如何与死锁相关的。
有谁知道为什么会这样?
以下是供参考的查询:
SELECT KontoplanKommuneAar.fk_kontoplankommune_id_kontoplankommune,
KontoplanKommuneAar.kontoplankommuneaarid,
KontoplanKommuneAar.fk_kontoplanindividuel_id_kontoplanindividuel,
KontoplanKommuneAar.sys_kommuneid,
KontoplanKommuneAar.sys_extractdate,
KontoplanKommuneAar.sys_batchdate
FROM (SELECT kka.fk_kontoplankommune_id_kontoplankommune,
kka.kontoplankommuneaarid,
kka.fk_kontoplanindividuel_id_kontoplanindividuel,
kka.sys_kommuneid,
kka.sys_batchdate,
kka.sys_rowid,
kka.sys_extractdate
FROM edw.dbo.kontoplankommuneaar kka
WHERE kka.kontoplankommuneaarid != -1
AND ( kka.kontoplankommuneaarid IN (SELECT
fk_kontoplankommuneaar_id_kontoplankommuneaar
FROM
kontoplanposteringsummaaned)
OR kka.kontoplankommuneaarid IN (SELECT
fk_kontoplankommuneaar_id_kontoplankommuneaar
FROM
kontoplanbudgetvedtaget)
OR kka.kontoplankommuneaarid IN (SELECT
fk_kontoplankommuneaar_id_kontoplankommuneaar
FROM
kontoplankorrigeringbudget) )) KontoplanKommuneAar
ORDER BY KontoplanKommuneAar.fk_kontoplankommune_id_kontoplankommune