mysql面试题——存储引擎相关

一:MySQL 支持哪些存储引擎?

MySQL支持多种存储引擎,比如InnoDB,MyISAM, MySQL大于等于5.5之后,默认存储引擎是InnoDB

二:InnoDB 和 MyISAM 有什么区别?

  1. InnoDB支持事务,MyISAM不支持
  2. InnoDB支持外键,MyISAM不支持
  3. InnoDB 最小的锁粒度是行锁,MyISAM 最小的锁粒度是表锁
  4. InnoDB 是聚集索引,MylSAM 是非聚集索引
  5. InnoDB不仅缓存索引还要缓存真实数据,MyISAM只缓存索引,不缓存真实数据

三:说一下MySQL是如何执行一条SQL的?具体步骤有哪些?

SQL语句→查询缓存→解析器→优化器→执行器 。
在这里插入图片描述

  1. 使用连接器,通过客户端/服务器通信协议与 MySQL 建立连接。
  2. Mysql8.0之前检查是否开启缓存,开启了缓存且命中完全相同的 SQL 语句,则将查询结果直接返回给客户端。
  3. 由解析器进行语法分析和语义分析,并生成解析树。
  4. 由优化器生成执行计划,根据索引是否可以优化。
  5. 执行器来执行SQL语句,具体的执行会操作MySQL的存储引擎来执行 SQL 语句,根据存储引擎类型,得到查询结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值