PostgreSQL
主キーについて
PRIMARY KEY制約 = NOT NULL制約とUNIQUE制約をいっしょに付けたのと同じ。
テーブルの中での一意な値。で、1テーブル内には1つだけ。
インデックスも自動で作成される。
create table data_tb ( id integer primary key, date timestamp default NOW() not null, memo varchar(200) );
インデックスについて
データの検索速度を上げるために、カラムに対して作成する索引のこと。
とある1レコードのデータを検索するとき、やみくもに順番に1レコードずつ調べていくよりも、
特定のカラムでばばばばーっと検索・位置を特定してから、そのレコードを読み込む。
とくに大きなテーブルでは効果を発揮するけど、
貼り方をまちがえると逆にパフォーマンス低下につながるので、注意が必要。
パフォーマンスUP↑↑なパターン
- 表の結合条件に使用される列に対して作成。
- 違う値が多くてばらついてる列に対して作成。