【面试官】你先说说知道哪些MySQL的高级特性
- 面试官:你先说说知道哪些MySQL的高级特性吧?
- 面试官:你挑一个讲一讲你对他的理解?
- 面试官:那分区表是银弹?不会有什么问题吗?
- 面试官:视图你也讲一下?
- 面试官:剩下还有那两个什么什么,你也讲一讲
- 面试官:有没听说过全文索引?
大家好,我是南哥。
一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。
文章目录
- MySQL高级特性
- 分区表
- 分区表的缺点
- 视图
- 其他高级特性
- 全文索引
1. MySQL高级特性
面试官:你先说说知道哪些MySQL的高级特性吧?
好的面试官。我了解到的主要有:分区表、视图、存储过程、触发器、事件...这些。
1.1 分区表
面试官:你挑一个讲一讲你对他的理解?
ok,那我讲讲分区表吧。
分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。
- 在执行查询的时候,优化器会根据分区定义过滤不需要查询的分区,这样的话就不需要扫描所有数据
- 可以把数据分布在不同的物理设备上,高效利用多个硬件设备
- 在表非常大且业务热点数据是最新表数据的情况下,根据时间进行分区可以快速过滤掉大量无关的历史数据
1.2 分区表的缺点
面试官:那分区表是银弹?不会有什么问题吗?
它也有很多不足,例如:
- 分区表是根据列进行分区的话,查询那些和分区列无关的数据,需要扫描所有分区表
- 分区列和SQL的索引列不匹配,也需要扫描所有分区表
- 当对分区表增删改查时,MySQL需要打开并锁住所有的底层表,这是分区表的另一个开销
# 创建表时同时设置分区
CREATE TABLE sales (
order_date DATETIME NOT NULL
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
Java面试突击 文章被收录于专栏
👉以面试官面试的形式,涵盖了你怒怼大厂面试官、拿下大厂面试所需掌握的核心知识、面试重点! 👉相信一定对你顺利通关面试、拿到理想Offer有所帮助! 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力!