PHP のこのクエリで問題が発生しています。非常に遅いため、実行後数分間サーバーに接続できません。メインクエリから個別のサブクエリを削除してきましたが、最後の内部クエリを削除した後、完全にスムーズに機能することがわかりました。
テーブル「u」には 30.000 行、テーブル「u_r」には約 17.000、テーブル「u_s」には約 13.000、テーブル「s」には約 100 の行があります。条件に一致する同じ「id_u」。
十分な情報を提供したことを願っています。他に何か知りたいことがあれば、コメントでお気軽にお尋ねください。
SELECT DISTINCT id_p
FROM u
WHERE
'$x' IN(
SELECT id_p
FROM u_p
WHERE id_u=u.id_u
)
AND
(
'$y' IN (
SELECT id_r
FROM u_r
WHERE id_u=u.id_u
)
OR
'$y' IN (
SELECT DISTINCT id_r
FROM s
WHERE id_s IN (
SELECT id_s //without this query, everything works fine
FROM u_s
WHERE id_u=u.id_u
)
)
)