MySQL面试深度解析:锁机制、事务隔离、存储引擎
需积分: 0 113 浏览量
更新于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-03-21 上传
2013-01-04 上传
点击了解资源详情
点击了解资源详情
稚皓君
- 粉丝: 2w+
- 资源: 133
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践