私は約1000の都市のテーブルを持っています。時々、私は都市名で検索する必要があるので、それをインデックスにすることに決めました。インデックスの長さを決定するベストプラクティスは何ですか? 6は重複がほとんどないため、最適な選択肢のようです。都市名フィールドのインデックスの長さ
例表:
cityID | cityName | countyID
1 | Bethlehem | 30
2 | Blairstown | 38
3 | Bloomfield | 32
4 | Bloomingdale | 34
5 | Bloomsbury | 30
6 | Bogota | 31
7 | Boonton | 33
8 | Botsford | 44
9 | Bound Brook | 35
10 | Branchburg | 35
11 | Branchville | 36
12 | Brantwood | 32
13 | Briarcliff Manor | 25
cityID - 主キー
countyID - キー
cityName(6) - キー
私はこれを正しくしていますか?私は
EXPLAIN SELECT *
FROM 'CITIES'
WHERE 'cityName' = 'Branchburg'
を実行しようとしたとき
は、私は以下の結果を得た:
id: 1
select_type: SIMPLE
table: CITIES
type: ref
possible_keys: cityName
key: cityName
key_len: 20
ref: const
rows: 2
Extra: Using where
は6も "key_lenに" ではないでしょうか?
この列の文字セットとは何ですか?それはUTF-8ですか? –
はい、それはutf8です – Yev