MariaDB で DESC コマンド クエリが遅いのはなぜですか
P粉127901279
P粉127901279 2024-02-03 21:29:17
0
1
486

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

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

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

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

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

リーリー

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

ああああ

P粉127901279
P粉127901279

全員に返信(1)
P粉848442185

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

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

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

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート