大型互联网必问的MySQL面试题:MySQL存储与索引+事务和锁+性能优
前言
日常开发中,数据库的 SQL 编写基本占到了 30% 的工作量,但因为 SQL 没写好而造成的功能异常和性能缺少而造成的 Bug 远超过了30%。数据库之高性能 MySQL 实战演练系列通过实际业务场景复杂 SQL 的编写来带领大家解决工作中让开发者欲罢不能的三大痛点:高并发场景下的数据一致性问题、企业复杂的查询和聚合统计、数据集中导致的 IO 吞吐下降。
今互联网行业用的最多就是 MySQL,然而对于高级 Web 面试者,尤其对于寻找 30k 下工作的求职者,很多 MySQL 相关知识点基本都会涉及,并且由于是讲解面试题,可能会比较由浅入深,问答互动的方式,穿插讲解知识点。所以我总结了一些常见高频率的知识点,希望对大家有点帮助哈。废话不多说,开启问答面试之旅及文末分享一些免费的架构学习资料。
MySQL存储与索引有关问题
MySQL 有哪些存储引擎啊?都有什么区别?
Float、Decimal 存储金额的区别?
Datetime、Timestamp 存储时间的区别?
Char、Varchar、Varbinary 存储字符的区别?
什么是索引?
对比一下B+树索引和 Hash索引?
MySQL索引类型有?
如何管理 MySQL索引?
对Explain参数及重要参数的理解?
索引利弊是什么及索引分类?
二叉树的转置是什么?
聚簇索引和非聚簇索引的区别?
B+tree 如何进行优化?索引遵循哪些原则?存储引擎会进行哪些自动优化?到底何时索引会失效?
索引与锁有什么关系?
还有什么其他的索引类型,各自索引有哪些优缺点?
MySQL事务和锁有关问题
谈谈对Innodb事务的理解?
说说数据库事务特点及潜在问题?
什么是MySQL隔离级别?
有多少种事务失效的场景,如何解决?
一致性非锁定读和一致性锁定读是什么?
Innodb如何解决幻读?
讲讲Innodb行锁?
死锁及监控是什么?
自增长与锁 ,锁的算法,锁问题,锁升级是什么?
乐观锁的线程如何做失败补偿?
高并发场景(领红包)如何防止死锁,保证数据一致性?
谈谈MySQL的锁并发?
MySQL性能优化有关问题
回表和集群因子是什么?
讲讲表与表之间的关系?
了解查询优化器模块;
查询优化的基本思路是什么?
说说MySQL读写分离、分库分表?
Query语句对数据库性能有什么影响?
Schema设计对系统性能有什么影响?
硬件环境对数据库的性能有什么影响?
表结构对性能有什么影响?
浅谈索引优化?
JOIN的原理是什么?
说说Sql优化的几点原则?
MySQL表设计及规范?
说说MySQL几种存储引擎应用场景?
MySQL常用优化方式有哪些?
MySQL常用监控?
MySQL瓶颈分析?
MySQL的系统学习方法
学习数据库知识,或者狭义说学习mysql,其学习过程比较曲折,没人谁能告诉你,只要看过某几本书,掌握好哪些知识就算是精通、掌握mysql了。知识面是非常广,知识点是零散的,不像学习编程语言那么系统、那么直接明了。 这也是感觉比较迷茫的地方,怎样才能系统学习? 因此分享一下总结的MySQL的学习思路导图给有需要的朋友!
最后
我把这些实际遇到的MySQL面试题及常见问题的答案总结了一下,由于文字过多,就单独做了一个文档。以及准备了一些更多关于Kafka、Mysql、Tomcat、Docker、Spring、MyBatis、Nginx、Netty、Dubbo、Redis、Netty、Spring cloud、分布式、高并发、性能调优、微服务等架构面试题和架构资料在群里免费分享,如有需要的朋友的可以来免费领取,同时可以点下喜欢和关注,以后还会分享更多干货的!
关注我,私信回复“Mysql”
本文地址:https://blog.csdn.net/sinat_37903468/article/details/107207423
上一篇: 一文秒懂nodejs中的异步编程