iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL高频面试题都是怎么样的
  • 575
分享到

MySQL高频面试题都是怎么样的

2024-04-02 19:04:59 575人浏览 安东尼
摘要

本篇文章给大家分享的是有关Mysql高频面试题都是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。唯一索引比普通索引快吗, 为什么?唯一

本篇文章给大家分享的是有关Mysql高频面试题都是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

唯一索引比普通索引快吗, 为什么?

唯一索引不一定比普通索引快, 还可能慢。

  1. 查询时, 在未使用limit 1的情况下, 在匹配到一条数据后, 唯一索引即返回, 普通索引会继续匹配下一条数据, 发现不匹配后返回. 如此看来唯一索引少了一次匹配, 但实际上这个消耗微乎其微.

  2. 更新时, 这个情况就比较复杂了. 普通索引将记录放到change buffer中语句就执行完毕了. 而对唯一索引而言, 它必须要校验唯一性, 因此, 必须将数据页读入内存确定没有冲突, 然后才能继续操作. 对于写多读少的情况, 普通索引利用change buffer有效减少了对磁盘的访问次数, 因此普通索引性能要高于唯一索引.

  3. 加q群:478052716 免费领取(Java架构资料,视频资料,BATJ面试资料)

mysql由哪些部分组成, 分别用来做什么

  1. Server

  2. 连接器: 管理连接, 权限验证.

  3. 分析器: 词法分析, 语法分析.

  4. 优化器: 执行计划生成, 索引的选择.

  5. 执行器: 操作存储引擎, 返回执行结果.

  6. 存储引擎: 存储数据, 提供读写接口.

  7. 加q群:478052716 免费领取(Java架构资料,视频资料,BATJ面试资料)

Mysql查询缓存有什么弊端, 应该什么情况下使用, 8.0版本对查询缓存有什么变更.

  • 查询缓存可能会失效非常频繁, 对于一个表, 只要有更新, 该表的全部查询缓存都会被清空. 因此对于频繁更新的表来说, 查询缓存不一定能起到正面效果.

  • 对于读远多于写的表可以考虑使用查询缓存.

  • 8.0版本的查询缓存功能被删了 ( ̄. ̄).

MyISAM和InnoDB的区别有哪些

  • InnoDB支持事务, MyISAM不支持.

  • InnoDB支持行级, MyISAM支持表级锁.

  • InnoDB支持多版本并发控制(MVVC), MyISAM不支持.

  • InnoDB支持外键, MyISAM不支持.

  • MyISAM支持全文索引, InnoDB不支持(但可以使用Sphinx插件)

MySQL怎么恢复半个月前的数据

通过整库备份+binlog进行恢复. 前提是要有定期整库备份且保存了binlog日志.

MySQL事务的隔离级别, 分别有什么特点

  1. 读未提交(RU): 一个事务还没提交时, 它做的变更就能被别的事务看到.

  2. 读提交(RC): 一个事务提交之后, 它做的变更才会被其他事务看到.

  3. 可重复读(RR): 一个事务执行过程中看到的数据, 总是跟这个事务在启动时看到的数据是一致的. 当然在可重复读隔离级别下, 未提交变更对其他事务也是不可见的.

  4. 串行化(S): 对于同一行记录, 读写都会加锁. 当出现读写锁冲突的时候, 后访问的事务必须等前一个事务执行完成才能继续执行.

做过哪些MySQL索引相关优化

  • 尽量使用主键查询: 聚簇索引上存储了全部数据, 相比普通索引查询, 减少了回表的消耗.

  • MySQL5.6之后引入了索引下推优化, 通过适当的使用联合索引, 减少回表判断的消耗.

  • 若频繁查询某一列数据, 可以考虑利用覆盖索引避免回表.

  • 联合索引将高频字段放在最左边.

简要说一下数据库范式

  • 第一范式: 属性不可再分.

  • 第二范式: 在一范式的基础上, 要求数据库表中的每个实例或行必须可以被惟一地区分. 通常需要为表加上一个列, 以存储各个实例的惟一标识. 这个惟一属性列被称为主关键字或主键.

  • 第三范式: 在二范式的基础上, 要求一个数据库表中不包含已在其它表中已包含的非主关键字信息. 所以第三范式具有如下特征:1). 每一列只有一个值. 2). 每一行都能区分. 3). 每一个表都不包含其他表已经包含的非主关键字信息.

一千万条数据的表, 如何分页查询

数据量过大的情况下, limit offset分页会由于扫描数据太多而越往后查询越慢. 可以配合当前页最后一条ID进行查询, SELECT * FROM T WHERE id > #{ID} LIMIT #{LIMIT}. 当然, 这种情况下ID必须是有序的, 这也是有序ID的好处之一.

订单表数据量越来越大导致查询缓慢, 如何处理

分库分表. 由于历史订单使用率并不高, 高频的可能只是近期订单, 因此, 将订单表按照时间进行拆分, 根据数据量的大小考虑按月分表或按年分表. 订单ID最好包含时间(如根据雪花算法生成), 此时既能根据订单ID直接获取到订单记录, 也能按照时间进行查询。

以上就是MySQL高频面试题都是怎么样的,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: MySQL高频面试题都是怎么样的

本文链接: https://www.lsjlt.com/news/61543.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL高频面试题都是怎么样的
    本篇文章给大家分享的是有关MySQL高频面试题都是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。唯一索引比普通索引快吗, 为什么?唯一...
    99+
    2024-04-02
  • MySQL的高频面试题有哪些
    本篇内容介绍了“MySQL的高频面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.什么是关系型...
    99+
    2024-04-02
  • 容易被忽视Node.js 面试题都是怎样的
    本篇文章给大家分享的是有关容易被忽视Node.js 面试题都是怎样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。如果你希望找一份有关Node...
    99+
    2024-04-02
  • Python的16个高频面试问题是什么
    本篇内容介绍了“Python的16个高频面试问题是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!(一)Python 是如何进行内存管理的...
    99+
    2023-06-29
  • Redis的高频面试题有哪些
    本篇内容主要讲解“Redis的高频面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis的高频面试题有哪些”吧!1、说说 Redis 都有哪些应用...
    99+
    2024-04-02
  • Python的高频面试题有哪些
    这篇文章主要讲解了“Python的高频面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python的高频面试题有哪些”吧!一. 如何提高爬取效率?爬虫下载慢主要原因是阻塞等待发往网...
    99+
    2023-06-02
  • Python有哪些高频的面试题
    这篇文章主要介绍“Python有哪些高频的面试题”,在日常操作中,相信很多人在Python有哪些高频的面试题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python有哪些高频的面试题”的疑惑有所帮助!接下来...
    99+
    2023-06-02
  • Redis高频的面试题有哪些
    这篇文章主要介绍“Redis高频的面试题有哪些”,在日常操作中,相信很多人在Redis高频的面试题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redis高频的面试题有...
    99+
    2024-04-02
  • 面试JavaScript的题目是怎样的
    面试JavaScript的题目是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。  1、怎样添加、移除、移动、复制、创建和查找节点  ...
    99+
    2024-04-02
  • 《面试专题-----经典高频面试题收集一》解锁 Java 面试的关键:深度解析常见高频经典面试题(第一篇)
    大家好,我是码农阿豪,一位热爱 Java 编程的程序员。今天我想和大家分享一些常见的 Java 面试题,通过收集解析这些问题,希望能够帮助大家更好地准备面试,突破技术瓶颈,把面试官按在地上摩擦 。 ...
    99+
    2024-01-21
    面试 java
  • Python、Laravel 和对象面试的高频问题及解答
    Python、Laravel 和对象是近年来非常热门的编程语言和框架。许多公司在招聘程序员时也会考察这些技术的相关知识。在面试时,掌握一些高频问题及其解答将大有裨益。本文将介绍一些常见的 Python、Laravel 和对象面试问题及其解...
    99+
    2023-09-22
    laravel 对象 面试
  • 哦?原来Python 面试题是这样的,P
    本面试题题库,由公号:非本科程序员 整理发布 第1题:是否遇到过python的模块间循环引用的问题,如何避免它 这是代码结构设计的问题,模块依赖和类依赖 如果老是觉得碰到循环引用可能的原因有几点: 可能是模块的分界线划错地方了 可能...
    99+
    2023-01-31
    是这样 面试题 Python
  • 关于Spring自定义XML schema 扩展的问题(Spring面试高频题)
    引言 自从SpringBoot时代的到来,去除了Spring的各种繁琐的XML配置,让我们可以腾出双手以便于更加专注的搬砖。记得那时候刚学Spring的时候,每天被Spring的各种...
    99+
    2024-04-02
  • 月薪20+的程序员面试都问这些高端技术题(含答案+面试指导)
    不知道大家有没有发现,最近情况在慢慢好转,现在我们小区已经解控了,再也不要绕远路出门了,可喜可贺。当然,我们的金三银四马上也要发挥它该有的作用了,尚未找到工作的朋友们,准备好了吗?今天给大家带来的是大公司需要用到的一些高端Android技术...
    99+
    2023-06-04
  • 7个简单但棘手的JavaScript面试问题是怎样
    本篇文章为大家展示了7个简单但棘手的JavaScript面试问题是怎样,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。如果您符合高级开发人员的资格,其工作涉及Java...
    99+
    2024-04-02
  • Javascript面试的完美指南是怎么样的
    Javascript面试的完美指南是怎么样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。为了说明 JS 面试的复杂性,首先,请尝试给出以...
    99+
    2024-04-02
  • 这是今年前端最常见的面试题,你都会了吗?
    在面试或招聘前端开发人员时,期望、现实和需求之间总是存在着巨大差距。面试其实是一个交流想法的地方,挑战人们的思考方式,并客观地分析给定的问题。可以通过面试了解人们如何做出决策,了解一个人对技术和解决问题的热情程度,也是在了解未来可能一起共事...
    99+
    2023-06-03
  • mysql高可用中MMM高可用mysql方案是怎么样的
    这期内容当中小编将会给大家带来有关mysql高可用中MMM高可用mysql方案是怎么样的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。 MMM高可用mysql方案 ...
    99+
    2024-04-02
  • Java的5道面试题是什么
    本篇内容主要讲解“Java的5道面试题是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的5道面试题是什么”吧!XML技术的作用?XML技术用于数据存储、信息配置、数据交换三方面。可以...
    99+
    2023-06-02
  • 比较全面的MySQL优化是怎么样的
    本篇文章给大家分享的是有关比较全面的MySQL优化是怎么样的,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、硬件层相关优化  1.1、CPU...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作