云服务器的MySQL索引

已关闭留言

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; #查看表结构