MySQL索引--語句&練習
/**
* MySql 索引 案例
* 索引建立原則:
* 1.儘量使用唯一索引
* 2.為經常查詢,排序 ,分組,聯合的欄位建立索引
* 3.限制索引數量,不用的索引應儘快刪除
* 4.儘量使用字首
*/
/**
* A.建立表時建立索引
*/
/a.建立普通索引/
CREATE TABLE tb_mune(
muneId int primary key,
muneName varchar(50),
INDEX(muneId)
)
/b.建立唯一索引/
CREATE TABLE tb_mune(
muneId int primary key,
muneName varchar(50),
UNIQUE INDEX(muneId)
)
/*
*c.建立全文索引
*ps:只能是text,varchar型別,同時InnonDB可能不支援全文索引,所以引擎用 MyISAM
*/
CREATE TABLE tb_mune(
muneId int,
muneName varchar(50),
FULLTEXT INDEX tb_mune(muneName)
)ENGINE MyISAM
/d.建立多列索引/
CREATE TABLE tb_mune(
muneId int,
muneName varchar(50),
INDEX tb_mune(muneId,muneName)
)
/e.建立空間索引/
CREATE TABLE tb_mune(
muneId int,
spacee GEOMETRY not null,
SPATIAL INDEX tb_mune(spacee)
)ENGINE=MyISAM
/*********************/
/*
*B.在已存在表中建立索引
*/
/a.建立普通索引/
CREATE INDEX userIndex on tb_user(userId)
/b.建立唯一索引/
CREATE UNIQUE INDEX usernameIndex on tb_user(userName)
/c.建立全文索引
CREATE FULLTEXT INDEX usernameFullIndex on tb_user(userName)
/d.建立多列索引/
CREATE INDEX usernameanduseraddress on tb_user(userName,userAddress)
/***********************/
/*
*C.alter table建立索引
*/
/a.建立普通縮影/
ALTER TABLE tb_user add INDEX useraddress(userPhone)
/b.建立唯一索引/
ALTER TABLE tb_user ADD UNIQUE INDEX userid(userId)
/c.建立全文索引/
ALTER TABLE tb_user ADD FULLTEXT INDEX userphone(userPhone)
/********************/
/*
*刪除索引 引數索引名+表名
*/
drop INDEX userphone on tb_user
索引還有單列索引,但是與普通索引相似所以省去
ps:個人的小練習,若有誤,望指出,必改正。謝謝