Mysql索引
Mysql索引的建立对于mysql高效的运行是很重要的,索引可以大大提高mysql的检索速度。
打个比方:合理的设计且建立好的索引的Mysql是一车兰博基尼的话,那么没有设计和不使用索引的话就是一辆人力三轮车。
创建索引时,你需要确保该索引是应用在sql查询语句的条件(一般作库where子句的条件)。
实际上,索引也是一张表,该表保存了主键与索引字段,并指向实体表的记录。
上面静说索引的好处了,那么索引有没有坏处呢?
这不用质疑,是有的,建立索引虽然查询的速度快了,但它更新、插入、删除这几个操作的速度会相对来说慢下来。
因为你的每一次操作不仅要去修改数据表还需要去更新索引。
建立索引会占用磁盘的空间。
普通索引:
创建索引
这是基本的索引,它没有任何的限制,它有以下几种创建方式:
create index indexName on mytable(username(length));
这样就创建了索引,下面我们来
使用alter命令添加和删除
alter table nav add primary key(id); 该语句添加一个主键,这意味着索引值是唯一的,且不能为null
alter table nav add unique indexName(column) ; ps:indexName可以随便起名,column是表中你要添加索引的字段。 添加唯一字段,必须唯一,但null可以出现多次。
alter table nav add index indexName(column) 这是添加普通索引,索引值可能会出现多次。
alter table nav add full_text indexName(column) 用于全文索引
使用alter命令添加和删除主键
alter table nav modify id int not null; 在nav表中加上一个字段
alter table nav add primary key (id); 在新加上的这个字段 尖 加上主键
显示索引信息
show index form nav\G;