外部キー制限のあるテーブルから a を削除しようとすると、時間がかかります。3 分経過しても完了しません。このようにすると、時間がかかります:
BEGIN TRANSACTION
DELETE FROM [T1]
WHERE
ROLEID = (SELECT ROLEID FROM T2
WHERE
NAME = 'GM')
ROLLBACK
ただし、次のコードはすぐに実行されます。
BEGIN TRANSACTION
DELETE FROM [T1]
WHERE
ROLEID = (5)
ROLLBACK
明らかに、2 番目のクエリにはサブクエリがありませんが、最初のクエリのサブクエリは 2 行しか返さないことがわかっています。最初のクエリに時間がかかるのはなぜですか?