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

MySQLテーブルインデックスの問題のヘルプ

データ テーブルのインデックスを設定するときにいくつかの問題が発生しました。助けを求めてください:

1.

UPDATE テーブル SET バージョン = 2 WHERE id = ?かつバージョン =?

このステートメントでは、ID は自己増加 ID であり、バージョンは楽観的ロックです。このとき、バージョンごとに別のインデックスを作成するのか、IDとの結合インデックスを作成するのか、それともインデックスを作成する必要はないのか。

  1. SELECT * FROM table WHERE a in () AND b =? c DESC

で注文

in が使用されている場合、インデックスは使用しないでください。これを構築するにはどうすればよいですか?

  1. SELECT * FROM tabler WHERE a = ? AND b > ? AND b

インデックスの作成方法

高洛峰高洛峰2659日前779

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

  • 淡淡烟草味

    淡淡烟草味2017-06-10 09:51:40

    1. バージョンを個別にインデックスするだけです。 id は主キーであり一意であるため、インデックス作成効率は実際に最も高くなります。
    2.in はインデックス作成を有効にできますが、in が特定の数に達すると失敗する可能性があります
    3.a と b は別々にインデックス作成できます。または、a と b を結合インデックスとして実行します

    返事
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-10 09:51:40

    通常の状況では、id フィールドのみのインデックスを作成するだけで十分です。
    ビジネス シナリオに従って、各 ID が大幅に変更されることが予想される場合は、ID とバージョンの結合インデックスを作成できます。

    返事
    0
  • キャンセル返事