
MySQL面试题目.docx
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOCX
简介:
这份文档《MySQL面试题目.docx》包含了多个关于MySQL数据库管理系统的常见面试问题及其答案解析,旨在帮助求职者准备技术岗位的面试。
MySQL面试题涉及多种技术点,包括锁机制、表类型、事务处理以及数据类型等。以下是根据题目描述展开的详细知识点讲解:
**一、锁机制**
1. **表级锁**:适用于读多写少的场景,如全表扫描。锁定粒度大,意味着对整个表进行加锁,因此并发度低,但加锁速度快。
2. **行级锁**:提供更高的并发性,适用于写多读少的场景。行级锁会锁定具体行,加锁慢且可能出现死锁,但冲突概率相对较低。
3. **页面锁**:介于表级锁和行级锁之间,锁定的是数据页,加锁时间和开销介于两者之间,并发度一般。
**二、表类型**
1. **MyISAM**: 不支持事务处理,查询速度快。使用表级锁,不存储行数。
2. **InnoDB**: 支持事务处理和ACID特性,支持行级锁及外键约束。主键采用聚集索引形式优化插入性能。
**三、事务隔离级别**
InnoDB支持四种事务隔离级别:
1. **读未提交(Read Uncommitted)**: 允许脏读。
2. **读已提交(Read Committed)**: 防止脏读,但可能发生不可重复读的情况。
3. **可重复读(Repeatable Read)**: 同一事务内多次查询相同数据始终一致,防止不可重复读问题。可能出现幻读现象。
4. **串行化(Serializable)**: 允许所有事务按顺序执行以避免脏读、不可重读和幻影读情况。
**四、数据类型**
1. **CHAR 和 VARCHAR**: CHAR是定长字符串,适合存储长度固定的文本;VARCHAR为变长字符串,节省空间。
2. **BLOB 和 TEXT**: BLOB用于二进制大数据的储存,TEXT则适用于文本数据。两者在排序和比较时有大小写差异。
3. **TIMESTAMP**:当行被修改时自动更新当前时间。
**五、其他**
1. 主键与候选键: 主键是唯一标识一行记录的关键字段,每个表只能有一个主键;候选键具有唯一性条件,并可成为主键之一。
2. myisamchk工具用于检查和修复MyISAM表结构或优化存储空间使用效率。
3. AUTO_INCREMENT属性:当达到最大值时不能再插入新行,除非手动清理序列号或者重新设置起始点。
4. LAST_INSERT_ID()函数返回最近一次执行INSERT操作所生成的自动增长ID值。
5. 使用`SHOW INDEX FROM
全部评论 (0)


