【面试官】你先说说知道哪些MySQL的高级特性
- 面试官:你先说说知道哪些MySQL的高级特性吧?
- 面试官:你挑一个讲一讲你对他的理解?
- 面试官:那分区表是银弹?不会有什么问题吗?
- 面试官:视图你也讲一下?
- 面试官:剩下还有那两个什么什么,你也讲一讲
- 面试官:有没听说过全文索引?
- 👉以【面试官面试】形式覆盖Java程序员所需掌握的Java核心知识、面试重点
- 📚本期是《MySQL系列》,其他系列博客请订阅专栏《Java Offer训练营》
- ❤创作不易,不妨点赞、收藏、关注支持一下
文章目录
- MySQL高级特性
- 分区表
- 分区表的缺点
- 视图
- 其他高级特性
- 全文索引
1. MySQL高级特性
面试官:你先说说知道哪些MySQL的高级特性吧?
好的面试官。我了解到的主要有:分区表、视图、存储过程、触发器、事件...这些。
1.1 分区表
面试官:你挑一个讲一讲你对他的理解?
ok,那我讲讲分区表吧。
分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。
- 在执行查询的时候,优化器会根据分区定义过滤不需要查询的分区,这样的话就不需要扫描所有数据
- 可以把数据分布在不同的物理设备上,高效利用多个硬件设备
- 在表非常大且业务热点数据是最新表数据的情况下,根据时间进行分区可以快速过滤掉大量无关的历史数据
1.2 分区表的缺点
面试官:那分区表是银弹?不会有什么问题吗?
它也有很多不足,例如:
- 分区表是根据列进行分区的话,查询那些和分区列无关的数据,需要扫描所有分区表
- 分区列和SQL的索引列不匹配,也需要扫描所有分区表
- 当对分区表增删改查时,MySQL需要打开并锁住所有的底层表,这是分区表的另一个开销
# 创建表时同时设置分区
CREATE TABLE sales
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
Java Offer训练营 文章被收录于专栏
👉以贴近现实的【面试官面试】形式帮助你系统学习后端技术 👉成体系知识帮你在后端进阶,每一道问答助你怒怼大厂面试官,收获大厂offer 👉《Java Offer训练营》包含Redis系列、MySQL系列、Kafka系列、ZooKeeper系列、JVM系列、多线程系列等等 👉制作不易,各位的支持是我创作的最大动力