文章目录
- 1. 数据库事务以及四个特性(数据库的ACID特性)
- 2. 不同的隔离级别:
- 3. 什么是幻读,脏读,不可重复读呢?
- 4. Mysql主从同步的实现原理?
- 5. Mysql的binlog有几种录入格式?分别有什么区别?
- 6. MYSQL的主从延迟,你怎么解决?
- 7. 数据库索引?
- 8. 索引哪些情况会失效?
- 9. 索引不适合哪些场景?
- 10. 索引的实现方法?
- 11. Hash索引和B+树区别是什么?
- 12. 数据库索引的原理,为什么要用 B+树,为什么不用二叉树?
- 13. 索引有哪几种类型?
- 14. 聚集索引与非聚集索引的区别?
- 15. 什么是存储过程?有哪些优缺点?
- 16. MySQL 遇到过死锁问题吗,你是如何解决的?
- 17. 锁及锁粒度
- 18. MVCC 是啥?
- 19. MVCC 可以解决什么问题?
- 20. MySQL存储引擎简介
- 21. 日常工作中你是怎么优化SQL的?
- 22. 在高并发情况下,如何做到安全的修改同一行数据?
- 23. 解释下Mysql中Explain
- 24. 解释下Mysql中 in 和 exists 的区别?
- 25. 数据库自增主键可能遇到什么问题?
- 26. 说一下大表查询的优化方案
- 27. InnoDB引擎的4大特性,了解过吗?
- 28. 什么是最左前缀原则?什么是最左匹配原则?
- 29. B树和B+树的区别,数据库为什么使用B+树而不是B树?
- 30. 覆盖索引、回表等这些,了解过吗?
- 31. B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据?
- 32. 非聚簇索引一定会回表查询吗?
- 33. 组合索引是什么?为什么需要注意组合索引中的顺序?
- 34. MySQL中InnoDB引擎的行锁是怎么实现的?
- 35. 视图有哪些特点?哪些使用场景?
- 36. 视图的优点,缺点?
1. 数据库事务以及四个特性(数据库的ACID特性)
事务(Transaction)是由一系列对数据操作所组成的最小单元,事务是不可分割的。
事务具有4个基本特征,分别是:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Duration),简称ACID。
- 原子性(Atomicity):原子性是指事务被视为不可分割的最小单元,事物的所有操作要不成功,要不失败回滚,而回滚可以通过日志来实现,日志记录着事务所执行的修改操作,在回滚时反向执行这些修改操作。
- 一致性(Consistency):数据库在事务执行前后都保持一致性状态,在一致性状态下,所有事务对一个数据的读取结果都是相同的。一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。
- 隔离性(Isolation):隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发