美文网首页MySQL转载部分SQL极简教程 · MySQL · MyBatis · JPA 技术笔记 教程 总结
面试阿里挂在“MySQL”,看完这份MySQL笔记8大问题,我顿

面试阿里挂在“MySQL”,看完这份MySQL笔记8大问题,我顿

作者: java高级架构师 | 来源:发表于2020-01-13 16:01 被阅读0次

    对于技术面试来说考察的核心内容具备以下两个特征:

    涉及的知识点广,因为不同的公司和不同的面试官技能知识结构是不同的,所以关注的问题和面试内容也是不同的,因而具备面试知识点广的特点;

    考察的知识点深,以阿里巴巴为例(其他大厂也是类似的情况),通常会从一个大的方向切入,然后再层层深入,直到问到你不会为止。比如,你都了解哪些数据库引擎?这个数据库引擎的特点是什么?这个数据库引擎是如何存储数据的?为什么要采用这种存储方式?等等。

    所以针对以上两个问题,整理了这8 大模块知识点,基本囊括了 MySQL 的所有知识点,它包含的内容如下:

    这份MySQL知识整理笔记内容包括8个内容:

    事务

    SQL优化原则

    JOIN

    执行计划与执行明细

    执行流程

    表结构对性能的影响

    索引

    打开UC浏览器 查看更多精彩图片

    事务

    特性

    分类

    隔离级别

    打开UC浏览器 查看更多精彩图片

    MySQL事务相关面试问题

    什么是事务?

    ACID是什么?可以详细说一下吗?

    同时有多个事务在进行会怎么样呢?

    怎么解决这些问题呢?MySQL的事务隔离级别了解吗?

    Innodb使用的是哪种隔离级别呢?

    对MySQL的锁了解吗?

    MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了?

    lock

    latch<轻量级锁,锁的时间非常短,用来操作临界资源>

    一致性的非锁定读

    一致性的锁定读

    死锁

    SQL优化原则

    选择需要优化的SQL

    Explain和Profile入手

    永远用小结果集驱动大的结果集

    在索引中完成排序

    使用最小Columns

    使用最有效的过滤条件

    避免复杂的JOIN和子查询

    JOIN原理

    JOIN的原理

    JOIN的优化原则

    执行计划与执行明细

    Explain

    Profiling

    索引

    类型

    方法

    创建

    索引面试相关问题

    什么是索引?

    索引是个什么样的数据结构呢?

    Hash索引和B+树所有有什么区别或者说优劣呢?

    上面提到了B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,什么是聚簇索引?

    非聚簇索引一定会回表查询吗?

    在建立索引的时候,都有哪些需要考虑的因素呢?

    联合索引是什么?为什么需要注意联合索引中的顺序?

    创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?

    那么在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?

    表结构对性能的影响

    冗余数据的处理

    大表拆小表

    根据需求展示更加合理的表结构

    常用属性分离为小表

    表结构设计相关

    为什么要尽量设定一个主键?

    主键使用自增ID还是UUID?

    字段为什么要求定义为not null?

    如果要存储用户的密码散列,应该使用什么字段进行存储?

    执行流程

    查询缓存

    解析器生成解析树

    预处理再次生成解析树

    查询优化器

    查询执行计划

    查询执行引擎

    查询数据返回结果

    MySQL优化学习思维笔记

    更多相关进阶学习资料分享

    有需要的朋友麻烦帮忙转发后私信回复【笔记】即可获取资料免费领取方式!

    这次小编针DUI MySQL优化和架构设计知识难点特地分享一份PDF文档《MySQL性能优化与架构设计解析文档》,同时配合这位大咖的MySQL学习视频,学起来会事半功倍,接着往下看吧。

    这份文档共分3个部分

    基础篇介绍了MySQL软件的基础知识、架构组成、存储引擎、安全管理及基本的备份恢复知识。

    性能优化篇从影响 MySQL 数据库应用系统性能的因素开始,针对性地对各个影响因素进行调优分析

    架构设计篇则主要以设计一个高可用可扩展的分布式企业级数据库集群环境为目标,分析介绍了通过MySQL 实现这一目标的多种架构方式。

    由于篇幅限制,小编这里只将此实战文档的所含内容全部展现出来了,需要获取完整文档用以学习的朋友们可以关注一下小编,后台私信:【笔记】获取免费领取方式!

    基础部分

    MySQL基本介绍

    MySQL架构组成

    MySQL存储引擎简介

    MySQL安全管理

    MySQL备份与恢复

    目录及内容展示

    性能优化篇

    第一节:MySQLServer性能的相关因素

    第二节:MySQL数据库锁定机制

    主要内容包括:MySQL锁定机制简介、各种锁定机制分析、合理利用锁机制优化MySQL、小结

    第三节:MySQL数据库Query的优化

    主要内容包括:理解MySQL的QueryOptimizer、Query语句优化基本思路和原则、充分利用Explain和Profiling、合理设计并利用索引、Join的实现原理及优化思路、ORDERBY,GROUPBY和DISTINCT优化

    第4到6节

    MySQL数据库Schema设计的性能优化

    MySQLServer性能优化

    常用存储引擎优化

    架构设计篇

    这部分分为7节内容如下:

    MySQL可扩展设计的基本原则

    可扩展性设计之MySQLReplication

    可扩展性设计之数据切分

    可扩展性设计之Cache与Search的利用

    MySQLCluster

    高可用设计之思路及方案

    高可用设计之MySQL监控

    相关文章

      网友评论

        本文标题:面试阿里挂在“MySQL”,看完这份MySQL笔记8大问题,我顿

        本文链接:https://www.haomeiwen.com/subject/jbfnactx.html