1. 程式人生 > >MySQL索引--語句&練習

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:個人的小練習,若有誤,望指出,必改正。謝謝