MySQL常见面试题(2024年最新)

06-01 1041阅读

目录

  • 前言
  • 1.char和varchar的区别
  • 2.数据库的三大范式
  • 3.你了解sql的执行顺序吗?
  • 4.索引是什么
  • 5.索引的优点和缺点
  • 6.索引的类型
  • 7.索引怎么设计(优化)
  • 8.怎么避免索引失效(也属于sql优化的一种)
  • 9.索引的数据类型
  • 10.索引为什么使用树结构
  • 11.二叉查找树、B树、B+树
  • 12.为什么使用B+树不用B树
  • 13.最左匹配原则
  • 14.Mysql怎么查看是否使用到索引或怎么查看sql执行计划
  • 15.一条sql查询非常慢,我们怎么去排查和优化?
  • 16.MylSAM和InnoDB、Memory的区别
  • 17.什么是事务
  • 18.事务的四大特性(ACID)
  • 19.脏读、不可重复读、幻读
  • 20.事务的隔离级别?
  • 21.怎么优化数据库
  • 22.SQL优化
  • 23.常用的聚合函数
  • 24.几种关联查询
  • 25.in和exists的区别
  • 26.drop、truncate、delete的区别

    前言

    java最新面试题(java基础、集合、多线程、jvm、锁、算法、CAS、Redis、数据库、mybatis、spring、springMVC、springBoot、微服务)

    1.char和varchar的区别

    ①char设置多少长度就是多少长度,varchar可以改变长度,所以char的空间利用率不如varchar的空间利用率高。

    ②因为长度固定,所以存取速度要比varchar快。

    ③char适用于固定长度的字符串,比如身份证号、手机号等,varchar适用于不固定的字符串。

    2.数据库的三大范式

    第一范式(1NF): 保证字段不可再分,保证原子性。

    第二范式(2NF): 满足1NF前提下,表的每一列都必须和主键有关系。消除部分依赖关系。

    第三范式(3NF): 满足2NF前提下,表的每一列比必须和主键有直接关系,不能是间接关系。消除传递依赖

    3.你了解sql的执行顺序吗?

    ⑧select ⑨distinct(去重) ⑥聚合函数

    ①from 表1

    ③[inner join | left join | right join](连接) 表2

    ②on(连接条件) 表1.字段 = 表2.字段

    ④where 查询条件

    ⑤group by(分组) 字段

    ⑦having 分组过滤条件

    ⑩order by(排序) 字段

    MySQL常见面试题(2024年最新)
    (图片来源网络,侵删)

    ⑪limit(分页) 0,10

    4.索引是什么

    是一种高效获取数据的数据结构,相当于目录,更快的找到数据,是一个文件,占用物理空间。

    MySQL常见面试题(2024年最新)
    (图片来源网络,侵删)

    5.索引的优点和缺点

    优点:

    ①提高检索的速度。

    MySQL常见面试题(2024年最新)
    (图片来源网络,侵删)

    ②索引列对数据排序,降低排序成本。

    ③mysql 8之后引入了,隐藏索引,当一个索引被隐藏就不会被优化器所使用,就可以看出来索引对数据库的影响,有利于调优。

    缺点:

    ①索引也是一个文件,所以会占用空间。

    ②降低更新的速度,因为不光要更新数据,还要更新索引。

    6.索引的类型

    ①普通索引: 基本索引类型,允许定义索引的字段为空值和重复值。

    ②唯一索引: 索引的值必须唯一,允许定义索引的字段为空值。

    ③主键索引: 索引的值必须唯一,不可以为空。

    ④复合索引: 多个字段加索引,遵守最左匹配规则。

    ⑤全局索引: 只有在 MyISAM 引擎上才能使用。

    7.索引怎么设计(优化)

    ①选择唯一性索引:值是唯一的,查询的更快。

    ②经常作为查询条件的字段加索引。

    ③为经常需要排序、分组和联合操作的字段建立索引:order by、group by、union(联合)、distinct(去重)等。

    ④限制索引个数:索引数量多,需要的磁盘空间就越多,更新表时,对索引的重构和更新就很费劲。

    ⑤表数据少的不建议使用索引(百万级以内):数据过少,有可能查询的速度,比遍历索引的速度都快。

    ⑥删除不常用和不再使用的索引。

    ⑦用类型小的类型做索引:比如:int和BIGINT能用int就使用int。因为类型小,查询速度快和索引占用的空间更少。

    ⑧使用前缀索引,要是字符串越长,那么索引占的空间越大,并且比较起来就时间就越长。

    8.怎么避免索引失效(也属于sql优化的一种)

    ①某列使用范围查询(>、

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码