最近、INDEXについて勉強し始めたばかりなのですが、調べていると
・通常はプライマリキーから順に検索されるが、INDEXを貼っておくことで並び変えられ手早く検索が可能
(そのためデータ量の多いテーブルでも、負荷軽減が可能)
・SELECTの検索時によく使用されるカラム(管理コードやタイプ、日時等)に付けるとよい
と言ったことが分かりました。
今回質問したいのは、
[よく呼ばれるがデータ量の少ないテーブルにもINDEXを張るべきなのか?]
ということです。
仮に下記のようなテーブルがあったとします。
MySQL
1mysql> SELECT * FROM type_mst; 2+----+------------+…+------------+------------+ 3| id | type |…| created_at | updated_at | 4+----+------------+…+------------+------------+ 5| 1 | aaaaa |…| 1609426799 | 1609426799 | 6+----+------------+…+------------+------------+
・テーブル内は1レコードのみで今後も増えることは無い
・userのステータス情報を管理するテーブル(常にデータ更新される)が別にあり、
userのtypeがaaaaaになった時だけtype_mst
のtype
がaaaaaのレコードが呼び出される
(SELECT * FROM type_mst WHERE type = "aaaaa")
・呼ばれる頻度は多い
type
にINDEXを張るべきなのか、はっても結局変わらないのか?
処理のされ方や確認方法などがあればご教授頂けますと幸いでございます。
宜しくお願い致します。
使用言語:
MySQL / PHP5.6.11
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/21 07:12