Mysql:创建索引和删除索引
创建索引的方式
- 创建表时,创建索引
- 在已存在的表,创建索引
创建表添加索引
添加普通索引、唯一索引、主键索引、联合索引、全文索引
CREATE TABLE `kuajing_oms`.`cc_bill_lading` (
`id` bigint(19) NOT NULL COMMENT 'id' PRIMARY KEY AUTO_INCREMENT,//创建主键索引
`bl_code` varchar(70) NULL COMMENT '提单号',
`create_time` datetime NULL COMMENT '创建时间',
`create_by` varchar(30) NULL COMMENT '创建人',
`update_time` datetime NULL COMMENT '更新时间',
`update_by` varchar(30) NULL COMMENT '更新人',
//创建普通索引,索引名(索引列)
INDEX idx_bcode(bl_code),
//唯一索引
UNIQUE INDEX un_idx_cby(create_by),
//联合索引,最常用的字段放1个,顺序是不能乱来的
INDEX idx_bcode(bl_code,create_by,create_time),
//创建全文索引,比较少用。主要用于数据类型为大文本并且频繁模糊查询时建立;update_by(20)表示对值的前20个字符建立索引,如果不指定,字段数据类型长度就多长
FULLTEXT INDEX idx_uby(update_by(20))
);
全文索引注意点
如果字段使用了全文索引,在进行模糊查询时就不要用like了,用如下:
已存在表添加索引
索引名(索引列)
普通索引
CREATE INDEX idx_cmt ON book(commit);
唯一索引
CREATE UNIQUE INDEX idx_bname ON book(book_name);
联合索引
CREATE INDEX idx_bid_bname_info ON book(book_id,book_name,info);
删除索引
DROP INDEX 索引名 ON 表名;
例子:
DROP INDEX idx_bname ON book;