老男孩教育 | 面试被问烂的 MySQL 数据库服务隔离级别,建议收藏!

快问快答,MySQL面试夺命20问

MySQL基础架构图:连接处理;授权验证;安全性(第一层); SQL聚合与优化(第二层);存储引擎(第三层)。

SQL执行过程:检查权限;查询缓存(MySQL8 .0之前);词法分析;语法检查;优化器确定执行计划并调用引擎接口返回结果。

SQL优化:表结构优化
讲解关键字段:类型;关键过道,额外。

慢查询优化:解析语句;检查标签;拆分或优化结构以及拆分表。

B+树的优点:非叶子节点不存储数据;减少磁盘IO并支持范围查询和排序。

Hash索引与B+树索引的区别:B+树支持范围查询;但Hash索引只对等值查询有效。

最左优先原则:复合索引(a1 ,a2 ,a3 )等于(a1 ),(a2 ),(a3 )。

该标签不适合以下情况:少量酒精;更新频率和差异较少。

标签的优点和缺点:确保唯一性;加快查询速度以及存储和维护成本增加。

解决死锁:查看死锁日志;分析和优化锁定SQL。

正锁和负锁的区别:负锁具体数据;并发更新乐观密钥。

MVCC原理:通过读写分离来避免锁定并提高并发性。

交易的四大特点:原子性;和谐隔离和耐用性。

事务隔离级别:未提交读、已提交读、可重复读;连续剧。

脏读,非重复读和幻读的区别:脏读读取的是非联网的数据;不可重复读结果有多个读结果以及幻读事务之间的数据变化。

MySQL CPU激增处理:查找mysqld进程,优化SQL或内存参数。

修复主从延迟:优化主库参数;改进从库硬件并使用高效的中间件。

分库分表设计:水平/垂直分区;分布式事务;考虑跨节点 JOIN 和 ID 生成。

中间件:sharding-jdbc;我的猫。

实用提醒:定期检查慢查询日志并优化索引策略。

如果出现数据访问变慢的情况,试提出解决方案或者优化方向,如何优化mysql?(面试题)

这就是陷阱:一台机器的超级可靠性。
不要相信:在所有板上建立索引可以让它变得更好。
不要这样做:忽略硬件升级,只优化 SQL 语句。