1、SQL性能下降原因
- 查询语句不好
- 索引失效:单值,复合
- 关联查询太多(jion)
- 服务器各个参数设置待调优(缓冲、线程数等)
执行时间长,等待时间长
二、索引(一)添加索引的条件
1、数据量庞大
2、该字段很少进行DML操作(对字段增删改,索引也需要重新排序,进行维护)
3、该字段经常出现在where子句中(即经常根据哪个字段查询)
(二)索引的作用
1、索引相当于目录
2、数据库两种检索方式
(1)全表扫描
(2)根据索引检索(效率很高,主要原因是缩小了扫描范围)
3、索引实现的底层数据结构:B+Tree
(三)创建和删除
1、添加索引是给某一字段或某些字段添加索引
2、创建索引对象
create index 索引名称 on 表名(字段名)
3、删除索引
drop index 索引名称 on 表名
4、案例---explain---查看查询计划
(四)索引实现原理
1、原数据根据创建的索引对象进行自动排序
2、select语句根据索引分的区,排的序进行扫描(在索引生成的B-Tree上查找)
3、将select条件中的值转变成物理地址,然后直接通过物理地址在硬盘或内存中定位,而不是通过表
[注]具体在硬盘还是内存主要由存储引擎决定,其中memory是放在内存中
三、主从复制和集群
四、锁
待更...



