ALTER TABLE 、CREATE INDEX 2种
先查看索引吧,如果已经有了,就不要再加了
show index from table_name;
Non_unique
如果索引不能包括重复词,则为0。如果可以,则为1。
添加
ALTER TABLE table_name ADD INDEXindex_name (column_list) --普通索引,要起个名字index_name
ALTER TABLE table_nameADD UNIQUE (column_list) --UNIQUE索引
ALTER TABLE table_nameADD PRIMARY KEY (column_list) --PRIMARY KEY索引
CREATE INDEX index_name ON table_name (column_list) --普通索引,要起个名字index_name
CREATE UNIQUE INDEX index_name ON table_name (column_list)--UNIQUE索引
没有重复值得列可建PRIMARY KEY或UNIQUE索引
PRIMARY KEY索引仅是一个具有名称PRIMARY的UNIQUE索引。这表示一个表只能包含一个PRIMARY KEY
好了,有查,有加,也得有删除
DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY
其中,前两条语句是等价的,删除掉table_name中的索引index_name。
一般来说WHERE和JOIN中出现的列需要建立索引。
LIKE语句中以通配符%和_开头作查询时,MySQL不会使用索引
貌似mysql 的索引不像oracle那么多,比如人事表性别的需要的Bitmapt索引