【面试官】你先说说知道哪些MySQL的高级特性

  • 面试官:你先说说知道哪些MySQL的高级特性吧?
  • 面试官:你挑一个讲一讲你对他的理解?
  • 面试官:那分区表是银弹?不会有什么问题吗?
  • 面试官:视图你也讲一下?
  • 面试官:剩下还有那两个什么什么,你也讲一讲
  • 面试官:有没听说过全文索引?

大家好,我是南哥。

一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。

文章目录

  1. MySQL高级特性
    1. 分区表
    2. 分区表的缺点
  2. 视图
  3. 其他高级特性
    1. 全文索引

1. MySQL高级特性

面试官:你先说说知道哪些MySQL的高级特性吧?

好的面试官。我了解到的主要有:分区表、视图、存储过程、触发器、事件...这些。

1.1 分区表

面试官:你挑一个讲一讲你对他的理解?

ok,那我讲讲分区表吧。

分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。

  1. 在执行查询的时候,优化器会根据分区定义过滤不需要查询的分区,这样的话就不需要扫描所有数据
  2. 可以把数据分布在不同的物理设备上,高效利用多个硬件设备
  3. 在表非常大且业务热点数据是最新表数据的情况下,根据时间进行分区可以快速过滤掉大量无关的历史数据

1.2 分区表的缺点

面试官:那分区表是银弹?不会有什么问题吗?

它也有很多不足,例如:

  1. 分区表是根据列进行分区的话,查询那些和分区列无关的数据,需要扫描所有分区表
  2. 分区列和SQL的索引列不匹配,也需要扫描所有分区表
  3. 当对分区表增删改查时,MySQL需要打开并锁住所有的底层表,这是分区表的另一个开销
# 创建表时同时设置分区
CREATE TABLE sales (
    order_date DATETIME NOT NULL

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java面试突击 文章被收录于专栏

👉以面试官面试的形式,涵盖了你怒怼大厂面试官、拿下大厂面试所需掌握的核心知识、面试重点! 👉相信一定对你顺利通关面试、拿到理想Offer有所帮助! 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力!

全部评论
666
点赞 回复 分享
发布于 04-20 21:49 广东

相关推荐

害怕一个人的小黄鸭胖乎乎:笑死了,没有技术大牛,招一堆应届生,不到半年,代码就成屎山了
点赞 评论 收藏
分享
听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
7 17 评论
分享
牛客网
牛客企业服务