0

t2 のフィールド名が欠落している t3 のすべてのレコードを削除したいのですが、それらが t1 の特定のレコード ID に一致する場合に限ります。

t1 のクエリ:

SELECT MAX(id) FROM t1 WHERE name1 = "XXX" AND user_id = '$id'

正常に動作します。

t2 クエリ:

SELECT name2 FROM t2 WHERE record IN (SELECT MAX(id) FROM t1 WHERE name1 = "XXX" AND user_id = '$id')

も問題なく動作しますが、しばらく時間がかかります。

しかし、t3 クエリ:

DELETE FROM t3 WHERE name3 NOT IN (SELECT name2 FROM t2 WHERE record IN (SELECT MAX(id) FROM t1 WHERE name1 = "XXX" AND user_id = '$id'));

「#2006 - MySQL サーバーがなくなりました」という結果になります

妥当な時間内にクエリ結果を取得するにはどうすればよいですか?

4

2 に答える 2