1、sql 优化主要是索引的优化
索引:相当于书的目录,索引(index)是帮助Mysql 高校获取数据的数据结构,索引的数据结构为树结构(mysql默认 B树)
在sql中使用index的优缺点
优点:1、提高查询效率(降低IO使用率)
2、提高CPU使用率
缺点:1、索引本身是一张表,占用存储空间
2、索引不是所有情况均适用对于以下几种情况建议不使用索引 :
1、不经常使用的字段
2、频繁更新的字段
3、对于数据表本身较少的数据
3、索引会降低增删该的操作,因为对增删改后要多索引表本身进行处理。
2、索引的分类
1、单值索引:一个索引值包含一个列,一张表可以有多个单值索引。
2、唯一索引: 索引的所在的列值必须唯一,但是允许有空值。
3、符合索引:即一个索引包含多个列。
4、主键索引:
主键索引和唯一索引的区别:
1)主键索引时一种约束,唯一索引是一种索引
2)一张表中只有一张主键索引,但是可以创建多个唯一索引
3)主键索引不能为NULL,唯一索引可以为NULL
4) 主键索引可以为外键,唯一索引不能做外键。
3、sql的解析过程
(5)select (6)distance (1)from
(3)group by (4)having (7)order by
在执行sql语句时按1-7的顺序进行执行。
4、sql中搜索的创建
1、创建表时创建索引
CREATE INDEX index_name(索引名称) ON TABLE_NAME 表名称(column_name)字段名称
2、表已创建创建索引
ALTER TABLE table_name ADD INDEX index_name(column_name)