数据库面试必备:20个高频知识点解析
需积分: 8 19 浏览量
更新于2024-08-11
收藏 83KB DOCX 举报
"数据库高频知识点总结,包括ACID特性、事务隔离级别、存储引擎对比、索引类型、锁机制、数据库范式、读写分离、SQL优化、数据类型选择及并发处理策略等"
1. 事务四大特性(ACID):
- 原子性(Atomicity):事务中的所有操作被视为单个操作,不可分割,要么全部成功,要么全部失败。
- 一致性(Consistency):事务完成后,数据库保持一致状态,不违反完整性约束。
- 隔离性(Isolation):并发事务之间不会互相干扰,保证数据一致性。
- 持久性(Durability):一旦事务提交,其结果将永久保存,即使系统崩溃也不会丢失。
2. 事务并发与隔离级别:
- 隔离级别有四种:读未提交(Read Uncommitted)、读已提交(Read Committed)、可重复读(Repeatable Read)和串行化(Serializable)。MySQL默认隔离级别是可重复读。
- 各个级别可能导致的问题:脏读、不可重复读、幻读。
3. MySQL存储引擎对比:
- InnoDB支持事务和行级锁定,适合事务处理。
- MyISAM不支持事务,但速度较快,适合读多写少的情况。
- MEMORY存储引擎将数据存储在内存中,速度极快,但数据不持久。
4. SQL查询元素执行顺序:
FROM > WHERE > GROUP BY > HAVING > SELECT > ORDER BY > LIMIT。
5. 索引类型:
- B+Tree索引适用于范围查询和全序扫描,适合主键或频繁排序、分组的字段。
- Hash索引适用于等值查询,速度非常快,但不支持范围查询和排序。
6. 聚集索引与非聚集索引:
- 聚集索引的叶子节点直接包含数据行,非聚集索引的叶子节点指向数据行的地址。
7. 锁机制:
- 乐观锁和悲观锁分别用于不同并发控制策略,加锁方式如SELECT ... FOR UPDATE用于悲观锁。
8. 关系型数据库与非关系型数据库:
- 关系型数据库遵循ACID特性,数据结构严格,如MySQL;非关系型数据库(NoSQL)灵活,适用于大数据和分布式场景。
9. 数据库设计:
- 通过范式理论(第一范式、第二范式、第三范式等)减少数据冗余,提高数据一致性。
10. 主从复制与读写分离:
- 通过主从复制实现读写分离,提高数据库性能,主库处理写操作,从库处理读操作。
11. SQL优化:
- 使用EXPLAIN分析查询计划,创建合适索引,避免全表扫描,优化JOIN操作。
12. MySQL高并发解决方案:
- 分区、分片、读写分离、缓存策略、数据库优化等。
13. 事务恢复机制:
- REDO日志记录事务提交前的操作,用于崩溃后恢复;UNDO日志用于回滚未完成的事务。
14. VARCHAR与CHAR的区别:
- VARCHAR节省空间,适合变长数据;CHAR固定长度,浪费空间但效率略高。
15. 死锁处理:
- 通过死锁检测和超时机制来识别和解决死锁。
以上内容涵盖了数据库面试中常见的知识点,理解并掌握这些可以帮助你更好地应对数据库相关的技术面试。
611 浏览量
2024-08-09 上传
2022-11-12 上传
2021-10-08 上传
2022-06-08 上传
2021-10-05 上传
2023-03-11 上传
2024-03-14 上传
2023-07-03 上传
加油干sit!
- 粉丝: 226
- 资源: 8