没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
常见 MySQL 面试题
• 1.说一下 MySQL 执行一条查询语句的内部执行过程?
• 2.MySQL 查询缓存有什么优缺点?
• 3.MySQL 的常用引擎都有哪些?
• 4.常用的存储引擎 InnoDB 和 MyISAM 有什么区别?
• 5.什么叫回表查询?
• 6.如果把一个 InnoDB 表的主键删掉,是不是就没有主键,就没办
法进行回表查询了?
• 7.一张自增表中有三条数据,删除两条数据之后重启数据库,再新
增一条数据,此时这条数据的 ID 是几?
• 8.什么是独立表空间和共享表空间?它们的区别是什么?
• 9.清空表的所有数据性能最好的语句是?
• 10.唯一索引和普通索引哪个性能更好?
• 11.left join 和 right join 的区别是什么?
• 12.什么是最左匹配原则?它的生效原则有哪些?
• 13.以下 or 查询有什么问题吗?该如何优化?
• 14.事务是什么?它有什么特性?
• 15.MySQL 中有几种事务隔离级别?分别是什么?
• 16.如何设置 MySQL 的事务隔离级别?
• 17.MySQL 出现了中文乱码该如何解决?
• 18.InnoDB 为什么要使用 B+ 树,而不是 B 树、Hash、红黑树或
二叉树?
• 19.MySQL 是如何处理死锁?
• 20.什么是全局锁?它的应用场景有哪些?
• 21.使用全局锁会导致什么问题?
• 22.InnoDB 存储引擎有几种锁算法?
• 23.InnoDB 如何实现行锁?
• 24.MySQL 性能指标都有哪些?如何得到这些指标?
• 25.MySQL 中的重要日志分为哪几个?
• 26.redo log 和 binlog 有什么区别?
• 27.慢查询日志的获取方式有哪些?
• 28.如何定位慢查询?
• 29.MySQL 中常见的读写分离方案有哪些?
• 30.怎样保证主备数据库无延迟?
• 31.什么是 MySQL 多实例,如何配置 MySQL 多实例?
• 32.表的优化策略有哪些?
• 33.数据库分片方案有哪些?
• 34.查询语句的优化方案有哪些?
• 35.MySQL 毫无规律的异常重启,可能产生的原因是什么?该如何
解决?
1.说一下 MySQL 执行一条查询
语句的内部执行过程?
答:MySQL 执行一条查询的流程如下:
• 客户端先通过连接器连接到 MySQL 服务器;
• 连接器权限验证通过之后,先查询是否有查询缓存,如果有缓存
(之前执
行过此语句)则直接返回缓存数据,如果没有缓存则进入分析器;
• 分析器会对查询语句进行语法分析和词法分析,判断 SQL 语法是
否正确,
如果查询语法错误会直接返回给客户端错误信息,如果语法正确则进
入优
化器;
• 优化器是对查询语句进行优化处理,例如一个表里面有多个索引,
优化器
会判别哪个索引性能更好;
• 优化器执行完就进入执行器,执行器则开始执行语句进行查询比对
了,直
到查询到满足条件的所有数据,然后进行返回。
2.MySQL 查询缓存有什么优缺
点?
答:MySQL 查询缓存功能是在连接器之后发生的,它的优点是效率
高,如果已经
有缓存则会直接返回结果。
查询缓存的缺点是失效太频繁导致缓存命中率比较低,任何更新表操
作都会清空查
询缓存,因此导致查询缓存非常容易失效。
3.MySQL 的常用引擎都有哪些?
答:MySQL 的常用引擎有 InnoDB、MyISAM、Memory 等,从 MySQL
5.5.5 版
本开始 InnoDB 就成为了默认的存储引擎。
4.常用的存储引擎 InnoDB 和
MyISAM 有什么区别?
答:InnoDB 和 MyISAM 最大的区别是 InnoDB 支持事务,而
MyISAM 不支持
事务,它们其他主要区别如下:
• InnoDB 支持崩溃后安全恢复,MyISAM 不支持崩溃后安全恢复;
• InnoDB 支持行级锁,MyISAM 不支持行级锁,只支持到表锁;
• InnoDB 支持外键,MyISAM 不支持外键;
• MyISAM 性能比 InnoDB 高;
• MyISAM 支持 FULLTEXT 类型的全文索引,InnoDB 不支持
FULLTEXT 类
型的全文索引,但是 InnoDB 可以使用 sphinx 插件支持全文索引,
并且
效果更好;
• InnoDB 主键查询性能高于 MyISAM。
5.什么叫回表查询?
答:普通索引查询到主键索引后,回到主键索引树搜索的过程,我们
称为回表查
询。
6.如果把一个 InnoDB 表的主键
删掉,是不是就没有主键,就没办
法进行回表查询了?
答:不是,如果把主键删掉了,那么 InnoDB 会自己生成一个长度为
6 字节的
rowid 作为主键。
7.一张自增表中有三条数据,删除
两条数据之后重启数据库,再新增
一条数据,此时这条数据的 ID 是
几?
答:如果这张表的引擎是 MyISAM,那么 ID=4,如果是 InnoDB 那
么 ID=2
(MySQL 8 之前的版本)。
8.什么是独立表空间和共享表空
间?它们的区别是什么?
答:共享表空间指的是数据库的所有表数据,索引文件全部放在一个
文件中,默认
这个共享表空间的文件路径在 data 目录下。
独立表空间:每一个表都将会生成以独立的文件方式来进行存储。
剩余25页未读,继续阅读
资源评论
新疆嘉博智选科技有限公司
- 粉丝: 88
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功