MySQL是全球最流行的开源关系型数据库管理系统之一,被广泛应用于各种规模的应用场景。在职场面试中,对MySQL的深入理解和熟练掌握是评估IT专业人士技术水平的重要标准。以下是一些关于MySQL的常见面试重点:1. 锁机制: - 表级锁:在MySQL中,表级锁最简单,一次锁定整个表,适用于读多写少的场景,但并发性能较低。 - 行级锁:行级锁只锁定涉及的具体行,提高并发性能,但可能导致死锁。 - 页级锁:介于表锁和行锁之间,锁定粒度较小,复杂度比行级锁高,也存在死锁风险。 2. 表类型: - MyISAM:不支持事务处理,但速度快,占用空间小,适合读密集型应用。使用非聚集索引,数据和索引分开存储。 - InnoDB:支持事务处理,包括ACID特性,支持行级锁,适合写入密集型应用。使用聚集索引,数据和索引存储在同一位置,还支持外键。 3. 事务隔离级别: - READ UNCOMMITTED:最低级别,允许读取未提交数据,可能导致脏读。 - READ COMMITTED:避免脏读,但可能发生不可重复读。 - REPEATABLE READ:防止脏读和不可重复读,但可能出现幻读。 - SERIALIZABLE:最高级别,完全串行化,避免所有异常情况,但并发性能最差。 4. 数据类型比较: - CHAR和VARCHAR:CHAR是定长字符串,存储时填充空格,VARCHAR是变长字符串,节省存储空间。 5. 主键与候选键: - 主键:表中的唯一标识符,每个表只能有一个主键,可以包含多个字段。 - 候选键:满足主键条件的任何唯一非空属性集,可以有多个。 6. 工具与实用程序: - myisamchk:用于检查、修复、优化和压缩MyISAM表的实用程序。 7. 数据类型特性: - TIMESTAMP:行更新时自动记录当前时间。 - AUTO_INCREMENT:自增列,达到最大值后插入失败。 8. 查询与索引: - 查看索引:使用SHOW INDEX FROM查询表上的索引。 - LIKE操作符%匹配任意数量