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 サーバーがなくなりました」という結果になります
妥当な時間内にクエリ結果を取得するにはどうすればよいですか?