1.索引
索引是对数据库中一列或者多列的值排序的一种数据结构。
优点:1.查询快
2.分组快
3.表连接快
缺点:1.建立索引需要时间和空间
2.表中数据改变时,索引需要维护
分类:
{普通索引和唯一索引}
普通索引是最基本的索引类型,唯一索引可以减少查询索引列的时间
{单列索引和唯一索引}
一个表可以创建多个单列索引,组合索引可以起几个索引的作用,遵从最左前缀
{全文索引},只有MyISAM引擎支持
{空间索引},只有MyISAM引擎支持
2.创建索引
1) 方法1,创建表的时候添加索引
create table table_name [col_name data_type]
[UNIQUE|FULLTEXT|SPATIAL] [INDEX|KEY] [index_name] (col_name[length]) [asc|desc]
2)方法2,在已经存在的表上创建索引
alter table table_name add [unix|fulltext|spatial] [index|key] [index_name] (col_name[length],...) [ASC|DESC]
3) 方法3,在已经存在的表上创建索引
create [unix|fulltext|spatial] index index_name on table_name (col_name[lenth],...) [ASC|DESC]
3.删除索引
1)alter table table_name drop index index_name;
2) drop index index_name on table_name;
4.查看索引
show index from table_name;
5.性能优化
原则:减少系统的瓶颈,减少资源的占用,增加系统的反应速度
1.分析查询语句;
2.创建索引并利用索引查询
3.优化数据库结构
4.优化mysql服务器
6.索引对查询速度的影响
1)什么事聚簇索引?什么事费聚簇索引?聚簇索引和非聚簇索引对查询速度的影响?
2)复合索引应该怎么用?(只有查询字段包含索引中起始字段才会有用)
3)使用like关键字查询,只有%不在起始位置索引才会起作用
4)使用or关键字查询,只有or前后两个字段都是索引时,查询中才会使用索引
5)使用连接查询代替子查询