1212分钟
大厂面试必备-MySQL高频面试题精选
学习的必要性 技术基础:对于数据库管理员、开发人员和IT专业人员来说,掌握MySQL是基本技能,因为MySQL是广泛使用的开源数据库管理系统。 职业发展:学习MySQL可以增强个人的技术能力,为职业发…
学习的必要性
技术基础:对于数据库管理员、开发人员和IT专业人员来说,掌握MySQL是基本技能,因为MySQL是广泛使用的开源数据库管理系统。
职业发展:学习MySQL可以增强个人的技术能力,为职业发展打开新的大门,尤其是在数据驱动的行业。
数据管理:对于需要处理大量数据的企业和个人来说,了解MySQL可以帮助他们更有效地管理和分析数据。
对于企业的价值
成本效益:MySQL是一个开源解决方案,可以帮助企业降低数据库软件的成本。
性能优化:通过优化MySQL数据库,企业可以提高应用程序的性能和响应速度。
数据安全:掌握MySQL可以帮助企业更好地保护和管理敏感数据,避免数据泄露和安全风险。
课程知识点
SQL基础:包括数据定义语言(DDL)、数据操纵语言(DML)等。
数据库设计:学习如何设计高效、可扩展的数据库架构。
性能调优:了解如何优化查询性能和数据库配置。
为什么要和这位讲师学习
专业知识:讲师具有深厚的MySQL知识和实际经验,能够提供实用的指导和最佳实践。
教学方法:讲师采用互动式教学,使学习过程更加生动和有效。
行业经验:讲师拥有丰富的行业背景,能够将理论知识与实际案例相结合。
第一章
- 课程导入
第二章
- 2.1 VARCHAR(50)中的50究竟是什么,我应该怎样用?
- 2.2 CHAR和VARCHAR我应该怎么选?
- 2.3 INT(20)或INT(1)中的数字有什么区别?
- 2.4 如何在MySQL中存储货币避免四舍五入?
- 2.5.1 主键用自增长数字还是UUID
- 2.5.2 主键用自增长数字还是UUID
- 2.5.3 主键用自增长数字还是UUID
- 2.5.4 主键用自增长数字还是UUID
- 2.5.5 主键用自增长数字还是UUID
- 2.6 宽表多宽才算宽
- 2.7 我的数据库设计,要遵守数据库范式吗?
- 2.8.1 MySQL的存储引擎,我应该怎么选?(1)
- 2.8.2 MySQL的存储引擎,我应该怎么选?(2)
- 2.9 本章小结
- innodb存储引擎历史补充
第三章
- 3.1 业务流量剧增要如何抗?
- 3.2 分析数据库负载的思路
- 3.3 使用读写分离扩展读
- 3.4.1 使用分片技术扩展写(1)
- 3.4 使用分片技术扩展写(2)
- 3.5 数据库拆分的原则
- 3.6 数据库中间件的选择
- 3.7 如何缩容
- 3.8 为什么DBA不让我用分区表
- 3.9 本章小结
第四章
- 4.1 从发起指令到执行完成,一条SQL语句是如何完成的?
- 4.2 count(), count(1), count(id) 哪个跑的更快?
- 4.3.1 索引是什么?有什么用?应该怎样用?用它的代价是什么(1)
- 4.3.2 索引是什么?有什么用?应该怎样用?用它的代价是什么(2)
- 4.4 数据库操作的时间复杂度
- 4.5 什么是B+树
- 4.6 为什么要用B+树,而不是B树或二叉树?
- 4.7 B+树的插入操作
- 4.8 B+树的删除操作
- 4.9 InnoDB的聚集索引和辅助索引
- 4.10 为什么覆盖索引会更快
- 4.11 为什么要关注索引的Cardinality值
- 4.12 什么是Index Condition Pushdown
- 4.13 什么是Multi-Range Read
- 4.14.1 MySQL索引有哪些类型(1)
- 4.14.2 MySQL索引有哪些类型(2)
- 4.15 对索引的几个错误理解
- 4.16 什么是三星索引
- 4.17 我认为会用到这个索引,为什么偏偏MySQL选了另一个
- 4.18.1 什么情况下SQL数据集会在内存硬盘上做聚合排序(1)
- 4.18.2 什么情况下SQL数据集会在内存硬盘上做聚合排序(2)
- 4.19 我分了十万页,会有性能问题吗
- 4.20 身份证字段如何加索引
- 4.21 什么场景不适合建索引
- 4.22 什么是回表如何减少回表
- 4.23 本章小结
第五章
- 5.1 银行转账是怎么保证不出错的
- 5.2 事务要解决哪些问题
- 5.3 隔离级别与并发控制之间的联系
- 5.4 MySQL的事务隔离级别都有什么区别
- 5.5 ACID是怎么实现的
- 5.6 ACID与BASE的区别在哪里
- 5.7 事务降维策略
- 5.8 本章小结
第六章
- 6.1 我能直接在VARCHAR字段上转换字符集吗
- 6.2 我都建索引了,为什么还会全表扫描
- 6.3 同样的SQL语句,为什么改个数就跑不动了
- 6.4 如何通过MySQL的错误代码解决问题
- 6.5 本章小结
第七章
- 7.1 InnoDB与锁:如何排查锁相关的问题
- 7.2 死锁要如何排查
- 7.3 和Insert相关的死锁案例
- 7.4 和Update相关的死锁案例
- 7.5 和DELETE相关的死锁案例
第八章
- 8.1 VARCHAR字段长度不够了,我应该如何快速扩充
- 8.2 MySQL改个字段为什么这么难
- 8.3 我的表只有几行数据,为什么还有慢SQL
- 8.4 DBA说thread running太高了,我的程序会有什么影响
- 8.5 做了读写分离,slave老是读不到数据怎么办
- 8.6 MySQL一大堆监控指标,看不懂怎么办
- 8.7 如何从MySQL元数据中获取你想要的统计信息
- 8.8 如何优化join查询
- 8.9 大表如何添加索引
第九章
- 9.1 DBA常说的双1是什么
- 9.2 MySQL连接数打满了怎么办
- 9.3 MySQL崩溃了,数据会丢吗
- 9.4 我不小心删了数据,难道要马上跑路吗
第十章
- 10.1 什么时候用DROP,什么时候用TRUNCATE
- 10.2 如何DROP一个1TB的大表
- 10.3 逻辑删除or物理删除 ,怎么选
- 10.4 删除一半数据之后,还要整理表碎片
- 10.5 我往数据库灌了大量数据之后,Slave为什么延迟了好几个小时我该怎么办
李辉
高级DBA专家