|
MySQL是程序员面试的必考题!
你知道有哪些MySQL高频面试题吗?
我们一起来看看吧!
第一部分:MySQL索引
001 Mysql如何实现的索引机制?
002 InnoDB索引与MyISAM索引实现的区别是什么?
003 一个表中如果没有创建索引,那么还会创建B+树吗?
004 说一下B+树索引实现原理(数据结构)
讲义&lnnoDB中的索引方法
005 聚簇索引与非聚簇索引b+树实现有什么区别?
聚簇索引 &非聚簇索引
006 说一下B+树中聚簇索引的查找(匹配)逻辑
007 说一下B+树中非聚簇索引的查找(匹配)逻辑
008 平衡二叉树,红黑树,B树和B+树的区别是什么?都有哪些应用场景?
009 一个b+树中大概能存放多少条索引记录?
010 使用B+树存储的索引crud执行效率如何?
011 什么是自适应哈希索引?
012 什么是2-3树 2-3-4树?
013 为什么官方建议使用自增长主键作为索引?(说一下自增主键和字符串类型主键的区别和影响)
014 使用int自增主键后 最大id是10,删除id 10和9,再添加一条记录,最后添加的id是几?删除后重
启mysql然后添加一条记录最后id是几?
015 索引的优缺点是什么?
016 使用索引一定能提升效率吗?
017 如果是大段文本内容,如何创建(优化)索引?
018 什么是聚簇索引?
019 一个表中可以有多个(非)聚簇索引吗?
020 聚簇索引与非聚集索引的特点是什么?
021 CRUD时聚簇索引与非聚簇索引的区别是什么?
022 非聚簇索引为什么不存数据地址值而存储主键?
023 什么是回表操作?
024 什么是覆盖索引?
025 非聚集索引一定回表查询吗?
026 为什么要回表查询?直接存储数据不可以吗?
027 如果把一个 InnoDB 表的主键删掉,是不是就没有主键,就没办法进行回表查询了?
028 什么是联合索引,组合索引,复合索引?
029 复合索引创建时字段顺序不一样使用效果一样吗?
030 什么是唯一索引?
031 唯一索引是否影响性能?
032 什么时候使用唯一索引?
033 什么时候适合创建索引,什么时候不适合创建索引?
034 什么是索引下推?
035 有哪些情况会导致索引失效?
036 为什么LIKE以%开头索引会失效?
037 一个表有多个索引的时候,能否手动选择使用哪个索引?
038 如何查看一个表的索引?
039 能否查看到索引选择的逻辑?是否使用过optimizer_trace?
040 多个索引优先级是如何匹配的?
041 使用Order By时能否通过索引排序?
042 通过索引排序内部流程是什么?
043 什么是双路排序和单路排序
044 group by 分组和order by在索引使用上有什么区别?
045 如果表中有字段为null,又被经常查询该不该给这个字段创建索引?
046 有字段为null索引是否会失效?
第二部分:MySQL内部技术架构
047 Mysql内部支持缓存查询吗?
048 mysql8为何废弃掉查询缓存?
049 替代方案是什么?
050 Mysql内部有哪些核心模块组成,作用是什么?
051 一条sql发送给mysql后,内部是如何执行的?(说一下 MySQL 执行一条查询语句的内部执行过
程?)
052 MySQL 提示“不存在此列”是执行到哪个节点报出的?
053 如果一张表创建了多个索引,在哪个阶段或模块进行的索引选择?
054 MySQL 支持哪些存储引擎?默认使用哪个?
055 Mysql8.0自带哪些存储引擎?分别是做什么的?
056 MySQL 存储引擎架构了解吗?
057 能否单独为一张表设置存储引擎?
058 阿里、京东等大厂都有自研的存储引擎,如何开发一套自己的?
059 MyISAM 和 InnoDB 的区别是什么?
060 具体说一下如何做技术选型
第三部分:MySQL事务
061 什么是数据库事务?事务的特性是什么?
062 什么是ACID?
063 并发事务会有哪些问题?
064 什么是脏读 065 丢失修改 066 不可重复读 067 幻读
068 不可重复读和幻读有什么区别?
069 Mysql是如何避免事务并发问题的?
070 什么是事务隔离级别?
071 默认的级别是什么?
072 如何选择事务隔离级别?
073 靠缓存可以提升高事务隔离级别的性能吗?
074 Mysql事务隔离是如何实现的?
075 什么是一致性非锁定读和锁定读?
076 说一下MVCC内部细节
077Mysql事务一致性,原子性是如何实现的?
078Mysql事务的持久性是如何实现的?
079 表级锁和行级锁有什么区别?
080 什么是行级锁?Mysql如何完成的?
081 什么是共享锁(读锁)?
082 什么是排它锁(写锁/独占锁)?
083 什么是意向锁?
084 InnoDB支持哪几种锁?
085 当前读和快照读分别是什么?
086 什么是XA协议?
087 什么是mysql xa事务?
088 xa事务与普通事务区别是什么?
089 什么是2pc 3pc?
090 是否使用过select for update?会产生哪些操作?
091说一下mysql死锁的原因和处理方法
第四部分:MySQL日志
092 Mysql会产生几种日志?
093 bin log作用是什么?
094 redo log作用是什么?
095 undo log作用是什么?
096 Mysql日志是否实时写入磁盘?
097 bin log刷盘机制是如何实现的?
098 redo log刷盘机制 是如何实现的?
099 undo log刷盘机制是如何实现的?
100 MySQL的binlog有有几种录入格式?分别有什么区别?
101 Mysql集群同步时为什么使用binlog?优缺点是什么?
第五部分:Mysql开发
102 可以使用MySQL直接存储文件吗?
103 什么时候存,什么时候不存?
104 存储的时候有遇到过什么问题吗?
105 Emoji乱码怎么办?
106 如何存储ip地址?
107 长文本如何存储?
108 大段文本如何设计表结构?
109 大段文本查找时如何建立索引?
110 有没有在开发中使用过TEXT,BLOB 数据类型
111 日期,时间如何存取?
112 TIMESTAMP,DATETIME 的区别是什么?
113 为什么不使用字符串存储日期?
114 如果需要使用时间戳 timestamp和int该如何选择?
115 char与varchar的区别?如何选择?
116 财务计算有没有出现过错乱?
117 decimal与float,double的区别是什么?
118 浮点类型如何选型?为什么?
119 预编译sql是什么?
120 预编译sql有什么好处?
121 子查询与join哪个效率高?
122 为什么子查询效率低?
123 join查询可以无限叠加吗?Mysql对join查询有什么限制吗?
124 join 查询算法了解吗?
125 如何优化过多join查询关联?
126 是否有过mysql调优经验?
127 开发中使用过哪些调优工具?
128 如何监控线上环境中执行比较慢的sql?
129 如何分析一条慢sql?
130 如何查看当前sql使用了哪个索引?
131 索引如何进行分析和调优?
132 EXPLAIN关键字中的重要指标有哪些?
EXPLAIN是什么
EXPLAIN的用法
各字段解释 :table ,id,select_type ,partitions ,type ☆ ,possible_keys 和 keys ☆
key_len ☆ ,ref ,rows ☆ ,filtered ,Extra ☆
133 MySQL数据库cpu飙升的话你会如何分析
134 有没有进行过分库分表?
135 什么是分库分表?
136 什么时候进行分库分表?有没有配合es使用经验?
137 说一下实现分库分表工具的实现思路
138 用过哪些分库分表工具?
139 分库分表后可能会有哪些问题?
140 说一下读写分离常见方案?
141 为什么要使用视图? 什么是视图?
142 什么是存储过程?有没有使用过?
143 有没有使用过外键?有什么需要注意的地方?
144 用过processlist吗?
145 某个表有数千万数据,查询比较慢,如何优化?说一下思路
146 count(列名)和 count(*)有什么区别?
147 如果有超大分页该怎么处理?
148 MySQL服务器毫无规律的异常重启如何排查问题?
149 MySQL线上修改表结构有哪些风险?
150 什么是MySQL多实例部署
那么问题来啦~~
你在面试时有没有被问及到MySQL面试题?你可有答上来?
你想知道哪道题的答案❓ |
|