mysql 几问

再看一次《高性能mysql》读书问题汇总笔记,不写答案。每过一段时间查看加深印象。

1.mysql如何并发控制数据正确性?

2.解释读锁和写锁:读锁写锁是否都会相互阻塞?

3.锁的粒度有哪些?不同的粒度开销如何?

4.事务ACID是哪些?

5.隔离级别有哪些?mysql默认是哪种隔离级别?隔离性越强不代表越好?mysql如何解决幻读?(间隙锁)

6.死锁原因

7.innodb能检测到死锁,默认是怎么处理死锁的?(将持有最少行级排它锁的事务回滚)

8.事务日志的好处

9.什么场景下选择什么引擎,如何转换表的引擎

10.基准测试(是什么,测试哪些指标,方法)

11.如何确认服务器是否达到性能最佳状态?

12.怎么找出某条语句为什么执行太慢?

13.慢查询日志开启是否会有很大的开销?性能是否影响?

14.简单介绍剖析报告工具 pt-query-digest v/m

15.选择数据类型的原则哪些不对?(越小越好,简单就好【整型和字符】,尽量避免null)

16.TimeStamp和Datetime,varchar和char 区别

17.alter table 修改大表有什么注意点和方式

18.最左前缀列含义,跳过中间索引列查找后面索引是否会使用?

19.innodb 索引为什么选择B+Tree,(按顺序存储,叶子到根距离相同,方便范围查找)

20.解释聚集索引(数据顺序和索引指针顺序一致),非聚集索引,非聚集索引查询几次?

21.高性能索引策略

  21.1 索引如果是表达式或者函数一部分:select* from student where id+1=5 会发生什么?

  21.2 前缀索引注意点,过长的问题

  21.3 多列索引注意点 顺序注意点(同序号18 一部分概念)

  21.4 重复索引问题(同一列多个索引)

  21.5 索引对于锁 有什么帮助

22.Mysql查询优化器的局限

  22.1 select *from Film where filmId in (select filmId from actor where actorid=1) 实际优化后的sql是什么样的。 应该换成什么形式解决全表扫描? ❤❤

23.优化特定类型查询

  23.1 count()

  23.2 on using

  23.3 groupby distinct

  23.4 limit 分页

  23.5 union

原文地址:https://www.cnblogs.com/TeemoHQ/p/13220767.html