MySQL索引
索引是为了加速查询的一种数据结构
索引分类:
普通索引
唯一索引
全文索引
##索引操作
#创建索引
mysql> CREATE TABLE execdb.t11(name CHAR(20),uid INT, shellCHAR(20),INDEX(name),INDEX(uid),INDEX(shell)); #建表时创建索引
mysql> DESC execdb.t11; #查看表结构MUL
#已有表添加索引
mysql> CREATE TABLE execdb.t12(name CHAR(20),uid INT, shellCHAR(20)); #建表
mysql> DESC execdb.t12; #查看表结构
mysql> CREATE INDEX name ON execdb.t12(name); #添加索引
mysql> DESC execdb.t12; #查看表结构
#查看具体索引信息
mysql> SHOW INDEX FROM execdb.t12\G #查看表中所有索引
*************************** 1. row ***************************
Table: t12 #表名
Non_unique: 1 #是否为唯一索引,是0否1
Key_name: name #索引名称
Seq_in_index: 1 #该列在索引中的位置,因为有组合索引
Column_name: name #字段名
Collation: A #列以何种顺序存储在索引中,A为升序,NULL表示无分类
Cardinality: 0 #索引中唯一数目的估计值
Sub_part: NULL #列中被编入索引字符的数量,整列编入显示NULL
Packed: NULL #关键字如何被压缩,NULL表示没有被压缩
Null: YES #索引列中是否包含NULL
Index_type: BTREE #索引类别(BTREE、FULLTEXT、HASH、RTREE)
Comment: #显示评注
Index_comment: #索引单独评注
#删除已有索引
mysql> DROP INDEX name ON execdb.t12; #删除指定索引
mysql> DESC execdb.t12; #查看表结构