You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.6 KiB
2.6 KiB
Mysql查询优化
- 慢查询:减少不需要的数据、不取出全部列、减少相同数据的查询 原因:数据量大 select * (禁止)
- 使用覆盖索引
- 改变数据库表结构(汇总表)
- 重写复杂查询SQL
mysql记录全部超过 long query time的sql语句的日志
Mysql中的索引:聚族索引、辅助索引,定义索引生产B+树
优化:减少索引数量、联合索引
-回表:通过辅助索引找到主键、再通过主键再找到其他数据(尽量减少)
- 查询优化器:对比:二级索引+回表,全表扫描主键
索引(Index) 帮助Mysql高效获取数据的数据结构
平衡二叉树调整
慢查询优化
- 重写复杂的sql查询
- 把指向sql按时间排序
事务和事务隔离级别
- 事务:整体的执行单位、事务的特性
- 事务并发引起的问题:脏读问题(回滚)、不可重复读(修改)、幻读(增加)
- READ UNCOMMITTED :未提交读 READ COMMITTED:提交读 REPETABLE READ :可重复读
- SERIALIZABLE :可串行化
- 修改:SET [GLOBAL|SESSION] TRANSACTION ISOLATION LEVEL level;
事务的操作
- 开启,提交,回滚
- 保存点:高级回滚,SAVEPOINT 保存点名称;ROLLBACK TO [SAVEPOINT] 保存点名称;
- 隐式提交:(不同的SQL语言类型)可以不用commit提交
- 开启下一个事务,上一个事务提交
mysql中的锁
- 锁定读:for update(X锁、独占锁) in share mode
- 锁释放时间