データ テーブルのインデックスを設定するときにいくつかの問題が発生しました。助けを求めてください:
1.
UPDATE テーブル SET バージョン = 2 WHERE id = ?かつバージョン =?
このステートメントでは、ID は自己増加 ID であり、バージョンは楽観的ロックです。このとき、バージョンごとに別のインデックスを作成するのか、IDとの結合インデックスを作成するのか、それともインデックスを作成する必要はないのか。
SELECT * FROM table WHERE a in () AND b =? c DESC
in が使用されている場合、インデックスは使用しないでください。これを構築するにはどうすればよいですか?
SELECT * FROM tabler WHERE a = ? AND b > ? AND b ORDER BY c DESC
インデックスの作成方法
1. バージョンを個別にインデックスするだけです。 id は主キーであり一意であるため、インデックス作成効率は実際に最も高くなります。
2.in はインデックス作成を有効にできますが、in が特定の数に達すると失敗する可能性があります
3.a と b は別々にインデックス作成できます。または、a と b を結合インデックスとして実行します
通常の状況では、id フィールドのみのインデックスを作成するだけで十分です。
ビジネス シナリオに従って、各 ID が大幅に変更されることが予想される場合は、ID とバージョンの結合インデックスを作成できます。