MySQL 建立索引(index)的語法
MySQL 建立索引(index)的語法
資料來源:http://wallacenotebook.blogspot.tw/2012/08/mysql-index.html
http://miggo.pixnet.net/blog/post/30862194-%5Bmysql%E5%9F%BA%E6%9C%AC%E8%A7%80%E5%BF%B5%5D-primary-key—index—unique%E5%B7%AE%E5%88%A5
1.建立索引:
語法:CREATE INDEX %索引名稱% ON %資料表名稱% (%欄位名稱1%, [%欄位名稱2%]);
語法:CREATE UNIQUE INDEX %索引名稱% ON %資料表名稱% (%欄位名稱1%, [%欄位名稱2%]);
ex:
CREATE INDEX INX01 ON TEST01 (FIELD02);
CREATE INDEX INX02 ON TEST01 (FIELD01, FIELD02);
CREATE UNIQUE INDEX INX02 ON TEST01 (FIELD01, FIELD02);
2.刪除索引
語法:ALTER TABLE %資料庫名稱%.%資料表名稱% DROP INDEX %索引名稱%
ex:
ALTER TABLE DATA.TEST01 DROP INDEX INX04;
3.選擇做為index(索引)欄位的原則:
3.1 出現於where, having, group by, order by, min, max 中之欄位。
3.2 用來做為與其他資料表join 的欄位。
3.3 不要將每個欄位都選做為index,否則降低insert, update,delete的效率。
3.4 某個欄位的值很單純(多樣性少,low sparity)不適合選做為index,如性別欄位的值只有F和M兩種, 因為建立index時需花費許多時間