张宏程

笔记


day8

数据库的优化

存储引擎的优化

mysql存储数据时的不同方式 查看存储引擎 常用的三种 InnoDB 是一个健壮的事务型存储引擎 更新速度快 支持自增长列 支持外键 支持行级锁

MYISAM存储引擎 他会建表时生成三个文件 .frm存储表的结构 .MYD存储数据 .MYI存储索引 无法处理事物 筛选大量数据非常迅速 查询速度快 插入密集型的表 插入速度快 不支持行锁 支持表锁

MEMORY 易发生数据丢失 不支持自增 临时数据

为什么根据id列查询较快 id 列 被设置成主键列 主键索引即唯一索引 普通索引

索引优化

索引类型

普通 唯一 全文 联合 组合

索引存储类型 BTree 和 Hash

sql语句优化

分析sql语句执行的效率

key sql 有没有用到索引 用到的是谁

索引匹配的原则 最左原则 在and 条件下最左原则不分先后顺序 索引正常命中 在 or 的情况下 最左原则就起效

联合索引 有联合索引所在的字段时 无论是在and的前面还是后面联合索引一定命中 or 语句的时候 要求or两边都是索引 才能查询成功 where使用负向查询 也会失效

索引的字段可以为空 使用is null 或is not null时 可能会导致索引失效 在索引列上使用内置函数 则该列索引一定会导致索引失效 对索引列进行运算会失效

联合索引对模糊查询 不分最左原则

慢查询日志

蠕虫

页面列表

ITEM_HTML