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

MariaDB で DESC コマンド クエリが遅いのはなぜですか

Maridb に対してクエリを実行しています。ASC 順序でクエリを実行すると、オプティマイザがチェックするレコード (r_rows) の数が減り、クエリが約 500 ミリ秒で完了します。しかし、順序を DESC に切り替えると、同じクエリに時間がかかります。約 227 万 r_rows で完了までにさらに時間がかかります。

###どうしてこれなの? ASC/DESC 順序がクエリのパフォーマンスに影響を与えるのはなぜですか?

これは SQL クエリです リーリー

次の 2 つの MariaDB 分析出力は実行計画を示しています

ASC で注文されたクエリは約 503 ミリ秒で完了しました

リーリー

DESC ASC 順序のクエリが完了しました ~9118 ms

ああああ

P粉127901279P粉127901279258日前427

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

  • P粉848442185

    P粉8484421852024-02-04 18:24:16

    インデックス最適化の提案

    テーブルインデックス x_nuvo_eam_scheduled_m9e_e8s (ステータス、scheduled_date、scheduled_maintenance、sys_created_on) x_nuvo_eam_scheduled_m10s (sys_id)

    その後、(括弧) と ティック を持たないように変更されますが、スケジュールされた vs. によって維持されるよりクリーンなエイリアスも使用されます。 WHERE 条件と JOIN 条件を最適化するには、最初のテーブルに適切なインデックスを設定すると役立ちます。ただし、完全にカバーするインデックスを作成すると、各テーブルの元のデータ ページに戻るのではなく、すべての要素をインデックスから取得できるため、クエリにも役立ちます。

    リーリー

    返事
    0
  • キャンセル返事