検索

ホームページ  >  に質問  >  本文

クエリ内の Order 句には MySQL のロード時間がかかりすぎる

数百万のレコードがあり、同じレコードに対して異なる接続が必要になるという状況に陥っています。注文条件にも難しい部分があります。並べ替えを適用しない場合、クエリは高速に結果を返します。しかし、order 句を適用すると、結果が得られるまでに時間がかかりすぎます。

Order 句を使用しない場合、結果は 5-6 秒になります。

注文条件を適用すると、結果は 40-45#​​## 秒になります。 リーリー

注: すべての結合は重要です。いくつかの考慮事項のため、フィールドは選択クエリから削除されています。

説明の概要

P粉258788831P粉258788831281日前382

全員に返信(1)返信します

  • P粉182218860

    P粉1822188602024-02-22 18:49:27

    問題は、LIMIT と ORDER BY の組み合わせにあります。

    ORDER BY を使用しない場合、最初の 10 行がランダムに選択されるとクエリは停止します。 order by クエリでは、考えられるすべての行を収集し、それらを順番に並べ替えて、最初の 10 行のみを返す必要があります。

    「postponed_consultation_datetime」が計算フィールドであることを考慮すると、これを高速化する方法は実際にはありません。

    返事
    0
  • キャンセル返事