約 3000/4000 行のテーブルが 2 つあります。テキストまたは日時を検索して結果をフィルター処理するには、左結合を使用して関係を作成する必要があります。ページネーションのために合計行を数える必要もあります。クエリを実行すると非常に遅くなります。コンソールで約 40/45 秒、Web ページで 1 分以上かかると考えてください。関係は次のとおりです。tableAの1に対して、tableBにNがあります。高速クエリの解決策はありますか? サンプル クエリは次のとおりです。
SELECT X,Y,Z, (SELECT COUNT(*)
FROM tableB WHERE tableB.idTa=tableA.id) AS CountTB
FROM tableA
LEFT JOIN tableB ON tableA.id = tableB.idA
WHERE tableA.X LIKE'%mytext%' OR tableB.Z LIKE'%mytext%'
GROUP BY tableA.id
ORDER BY tableA.Y LIMIT 0,10
皆さん、ありがとうございました
ON句はもちろん存在します。私の電話からのみタイプミスしました。今は正しく、非常に遅いです:)
新しい更新: 関係を LEFT JOIN から RIGHT JOIN に変更すると、かなり高速になります....なぜ??