[MySql索引] 添加&删除&查看索引

  • 在表中创建索引,以便更加快速高效地查询数据
  • 用户无法看到索引,它们只能被用来加速搜索/查询
  • 更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。

添加索引&删除索引&查看索引

alter table table_name add index index_name(user_id); #添加索引
drop index index_name on table_name ;     #删除索引
show index from table_name;     #查看索引

###组合(复合)索引(最左前缀)
平时用的SQL查询语句一般都有比较多的限制条件,所以为了进一步榨取MySQL的效率,就要考虑建立组合索引。
例如针对title和time建立一个组合索引:
ALTER TABLE article ADD INDEX index_title_time (title(50),time(10))
建立这样的组合索引,其实是相当于分别建立了下面两组组合索引:
–title,time
–title
为什么没有time这样的组合索引呢?这是因为MySQL组合索引“最左前缀”的结果。简单的理解就是只从最左面的开始组合,并不是只要包含这两列的查询都会用到该组合索引。

#如下面的几个SQL所示使用到上面的索引
SELECT * FROM article WHREE title='测试' AND time=1234567890;
SELECT * FROM article WHREE title='测试';

#没有使用上面的索引
SELECT * FROM article WHREE time=1234567890;

猜你喜欢

转载自blog.csdn.net/sinat_25873421/article/details/80328621