インデックスは利用可能ですが、まだ使用されていません - MySQL
P粉668019339
P粉668019339 2024-03-31 09:51:35
0
1
435

1 つのクエリ専用のインデックスを作成しましたが、クエリの実行に 5 ~ 6 秒かかっていることがわかりました。次のクエリを使用して未使用のインデックスを取得しようとしましたが、そのインデックスが未使用のインデックス リストにリストされていることに気付きました。次のクエリのパフォーマンスを向上させる方法を提案してください。

クエリ where 句: WHERE parsedjobdescription IS NOT NULL AND is_updated != 0

インデックス: KEYidx_jobs_feed_pa​​rsedjobdescription_is_updated(parsedjobdescription(700),is_updated)

未使用のインデックス: SELECT * FROM sys.schema_unused_indexes;

列: parsedjobdescription varchar(50000) DEFAULT NULL is_updated tinyint(1) DEFAULT '0'

クエリの説明:

可能なキー: idx_jobs_feed_pa​​rsedjobdescription_is_updated、idx_is_updated

キー: idx_jobs_feed_pa​​rsedjobdescription_is_updated

キーの長さ: 703

行数: 1

フィルター: 50.0

P粉668019339
P粉668019339

全員に返信(1)
P粉232793765

インデックスの 2 つの列の使用を避けるべき 3 つの事項:

  • IS NOT NULL - 範囲に達すると、残りの列は使用されません。

  • is_updated != 0 -- これも「範囲」です。

  • インデックスプレフィックスに問題があります。

    リーリー

テストが is_updated = 1 の場合、インデックスを反転する (または別のインデックスを追加する) ことができます。 リーリー

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