面试官:上一期博客问了你MySQL主从复制,现在考考你高级特性吧面试官:不用慌尽管说,错了也没关系😊。。。每日分享大厂面试演练,本期是《MySQL系列》,感兴趣就关注我吧❤️
嗯嗯好的。
我了解到的主要有:分区表、视图、存储过程、触发器、事件...这些。
面试官思考中…
ok,那我讲讲分区表吧。
分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。
面试官思考中…
它也有很多不足的,像这些:
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 旧表名
面试官思考中…
嗯嗯好的,最后三个是存储过程、触发器和事件。
例如可以让MySQL执行函数来插入1万条数据
例如可以编写触发器,在插入A表数据时,给日志记录B表插入一条日志
例如可以创建一个事件每隔一段时间调用下我们定义的一个存储过程
大概是这些。
面试官思考中…
有的,其实类似于ElasticSearch的全文索引。
主要是针对文本内容这种格式的数据,MySQL全文索引会对字段进行分词处理,返回匹配相关的文本内容。
面试官抓抓脑袋,继续看你的简历......得想想考点你不懂的😰
好了,今天的分享就先到这,我们下期大厂面试演练继续。
创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。