MySQL面试深度解析:锁机制、事务隔离、存储引擎
需积分: 0 150 浏览量
更新于2024-08-04
收藏 19KB TXT 举报
"最新mysql面试题库,涵盖了MySQL的锁机制、表格类型、事务隔离级别、数据类型区别、主键与候选键的概念、myisamchk工具、TIMESTAMP特性和索引查看方法,以及LIKE运算符、时间戳转换、列对比运算符、BLOB与TEXT的差异以及MySQL_fetch_array与MySQL_fetch_object的区别。"
1. MySQL中的锁机制包括表级锁、行级锁和页面锁。表级锁开销小,加锁快,但并发度低,可能导致大量锁冲突。行级锁提供最高的并发度,但加锁和处理死锁成本较高。页面锁则介于两者之间。
2. MySQL的表格类型主要有MyISAM、Heap、Merge、INNODB和MISAM。MyISAM不支持事务,适合读多写少的场景;Heap(内存表)数据存储在内存中,速度较快但数据不持久;Merge表是多个MyISAM表的集合;INNODB支持事务处理,是MySQL的默认存储引擎;MISAM是早期的错误拼写,实际应为MyISAM。
3. MyISAM和InnoDB的主要区别在于事务处理和索引类型。MyISAM不支持事务,而InnoDB支持ACID事务,提供了更高的数据一致性。MyISAM使用非聚簇索引,InnoDB使用聚簇索引,将数据和索引存储在一起。
4. InnoDB支持四种事务隔离级别:READ UNCOMMITTED(读未提交)、READ COMMITTED(读已提交)、REPEATABLE READ(可重复读)和SERIALIZABLE(串行化)。隔离级别越高,防止脏读、不可重复读和幻读的能力越强,但并发性降低。
5. CHAR和VARCHAR都是字符串类型,CHAR长度固定,检索时会去掉尾部空格,适合存储固定长度的文本;VARCHAR长度可变,节省空间,适合存储可变长度的文本。
6. 主键是表中唯一标识一行的数据,每个表只能有一个主键。候选键也是能唯一标识一行的键,但可以有多个。主键通常是候选键的一种选择,用于建立外键关联。
7. myisamchk是MySQL提供的用于检查、修复、优化和分析MyISAM表的工具,对MyISAM存储引擎的表进行维护。
8. 如果表中有一列定义为TIMESTAMP,该列会自动记录每次插入或更新时的时间戳,且在MySQL中可能实现自动更新。
9. 使用`SHOW INDEX FROM table_name`命令可以查看为特定表格定义的所有索引。
10. LIKE声明中的`%`代表任意数量的字符,`_`代表单个字符,用于模糊匹配。
11. 列对比运算符包括`=`, `<>`, `<=`, `<`, `>=`, `>`, `<<`, `>>`, `<=>`, `AND`, `OR` 和 `LIKE`等,用于查询语句中比较列的值。
12. BLOB和TEXT都是用于存储大对象的类型,BLOB用于二进制数据,TEXT用于文本数据,它们的最大长度不同,BLOB通常用于存储图片、文档等,TEXT用于存储文本内容。
13. MySQL_fetch_array和MySQL_fetch_object分别用于从结果集中获取行数据,前者返回数组,后者返回对象。数组形式允许以索引或关联方式访问数据,而对象形式更符合面向对象编程的习惯。
2021-10-09 上传
2021-10-29 上传
2023-07-28 上传
2023-10-19 上传
2013-09-04 上传
2013-01-04 上传
点击了解资源详情
点击了解资源详情
稚皓君
- 粉丝: 2w+
- 资源: 133
最新资源
- 掌握压缩文件管理:2工作.zip文件使用指南
- 易语言动态版置入代码技术解析
- C语言编程实现电脑系统测试工具开发
- Wireshark 64位:全面网络协议分析器,支持Unix和Windows
- QtSingleApplication: 确保单一实例运行的高效库
- 深入了解Go语言的解析器组合器PARC
- Apycula包安装与使用指南
- AkerAutoSetup安装包使用指南
- Arduino Due实现VR耳机的设计与编程
- DependencySwizzler: Xamarin iOS 库实现故事板 UIViewControllers 依赖注入
- Apycula包发布说明与下载指南
- 创建可拖动交互式图表界面的ampersand-touch-charts
- CMake项目入门:创建简单的C++项目
- AksharaJaana-*.*.*.*安装包说明与下载
- Arduino天气时钟项目:源代码及DHT22库文件解析
- MediaPlayer_server:控制媒体播放器的高级服务器