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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 面试官:上一期博客问了你MySQL主从复制,现在考考你MySQL高级特性吧。分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。

在这里插入图片描述

面试官:上一期博客问了你MySQL主从复制,现在考考你高级特性吧


面试官:不用慌尽管说,错了也没关系😊。。。


每日分享大厂面试演练,本期是《MySQL系列》,感兴趣就关注我吧❤️

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

嗯嗯好的。

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


面试官思考中…


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

ok,那我讲讲分区表吧。

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

  1. 在执行查询的时候,优化器会根据分区定义过滤不需要查询的分区,这样的话就不需要扫描所有数据
  2. 可以把数据分布在不同的物理设备上,高效利用多个硬件设备


面试官思考中…


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

它也有很多不足的,像这些:

  1. 分区表是根据列进行分区的话,查询那些和分区列无关的数据,需要扫描所有分区表
  2. 分区列和SQL的索引列不匹配,也需要扫描所有分区表
  3. 当对分区表增删改查时,MySQL需要打开并锁住所有的底层表,这是分区表的另一个开销
CREATE TABLE sales (
    order_date DATETIME NOT NULL,
    -- Other columns omitted
) ENGINE=InnODB PARTITION BY RANGE(YEAR(order_date)) (
    PARTITION P2010 VALUES LESS THAN(2010),
    PARTITION P2011 VALUES LESS THAN(2011),
    PARTITION P2012 VALUES LESS THAN(2012),
    PARTITION pCatchall VALUES LESS THAN MAXVALUE);


面试官思考中…


面试官:视图你也讲一下

Ok,视图本身是一个虚拟表不存放数据,其实就相当于保存了一条Select语句,把这条Select语句封装成视图。

我举个例子吧。在业务开发中,如果不得不改变MySQL表名,而不想改动代码的表名。可以用视图查询新表名的内容,然后把视图命名为旧表名,这样查询视图也能查询出数据。

CREATE VIEW 新表名 AS
    SELECT * FROM 旧表名


面试官思考中…


面试官:剩下还有那两个什么什么,你也讲一讲

嗯嗯好的,最后三个是存储过程、触发器和事件。

  1. 存储过程其实就是在MySQL里写方法函数

    例如可以让MySQL执行函数来插入1万条数据

  2. 触发器可以让你在SQL语句操作表数据的时候,在SQL语句执行前、执行后触发一些特定操作

    例如可以编写触发器,在插入A表数据时,给日志记录B表插入一条日志

  3. 事件类似于Linux的定时任务,可以是在某个时候、每隔一个时间间隔执行一段SQL代码。

    例如可以创建一个事件每隔一段时间调用下我们定义的一个存储过程

大概是这些。


面试官思考中…


面试官:有没听说过全文索引

有的,其实类似于ElasticSearch的全文索引。

主要是针对文本内容这种格式的数据,MySQL全文索引会对字段进行分词处理,返回匹配相关的文本内容。

在这里插入图片描述

面试官抓抓脑袋,继续看你的简历......


得想想考点你不懂的😰

未完待续。。。。。。

好了,今天的分享就先到这,我们下期大厂面试演练继续。

创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
存储 关系型数据库 MySQL
【Java面试题汇总】MySQL数据库篇(2023版)
聚簇索引和非聚簇索引、索引的底层数据结构、B树和B+树、MySQL为什么不用红黑树而用B+树、数据库引擎有哪些、InnoDB的MVCC、乐观锁和悲观锁、ACID、事务隔离级别、MySQL主从同步、MySQL调优
【Java面试题汇总】MySQL数据库篇(2023版)
|
2月前
|
SQL 存储 关系型数据库
复盘女朋友面试4个月的Mysql面试题(1万字)
该文章详细分析了Ribbon的超时配置是否会覆盖OpenFeign的超时配置,并探讨了OpenFeign超时配置能否动态实时修改生效的问题。
复盘女朋友面试4个月的Mysql面试题(1万字)
|
2月前
|
关系型数据库 MySQL Java
面试官:说说MySQL调优?
面试官:说说MySQL调优?
70 5
面试官:说说MySQL调优?
|
2月前
|
SQL 关系型数据库 MySQL
面试准备-MySQL
面试准备-MySQL
|
2月前
|
缓存 NoSQL Redis
一天五道Java面试题----第九天(简述MySQL中索引类型对数据库的性能的影响--------->缓存雪崩、缓存穿透、缓存击穿)
这篇文章是关于Java面试中可能会遇到的五个问题,包括MySQL索引类型及其对数据库性能的影响、Redis的RDB和AOF持久化机制、Redis的过期键删除策略、Redis的单线程模型为何高效,以及缓存雪崩、缓存穿透和缓存击穿的概念及其解决方案。
|
2月前
|
算法 关系型数据库 MySQL
一天五道Java面试题----第七天(mysql索引结构,各自的优劣--------->事务的基本特性和隔离级别)
这篇文章是关于MySQL的面试题总结,包括索引结构的优劣、索引设计原则、MySQL锁的类型、执行计划的解读以及事务的基本特性和隔离级别。
|
2月前
|
SQL 存储 关系型数据库
|
2月前
|
存储 关系型数据库 MySQL
MySQL 常见面试题总结(上)
主要介绍 MYSQL 数据库面试中常见的面试问题。
23 0
|
3月前
|
算法 搜索推荐 NoSQL
面试题MySQL问题之分库分表后的富查询问题处理如何解决
面试题MySQL问题之分库分表后的富查询问题处理如何解决
44 3
|
3月前
|
运维 关系型数据库 MySQL
面试题MySQL问题之MySQL集群的单点失效如何解决
面试题MySQL问题之MySQL集群的单点失效如何解决
93 2
下一篇
无影云桌面