mysql面试百题集-LMLPHP

目录

一、基础面试题

二、进阶面试题


一、基础面试题


1、MySQL索引使用有哪些注意事项呢?
2、MySQL遇到过死锁问题吗,你是如何解决的?
3、日常工作中你是怎么优化SQL的?
4、说说分库与分表的设计
5、InnoDB与MyISAM的区别
6、数据库索引的原理,为什么要用B+树,为什么不用二叉树?
7、聚集索引与非聚集索引的区别
8、limit1000000加载很慢的话,你是怎么解决的呢?
9、如何选择合适的分布式主键方案呢?
10、事务的隔离级别有哪些?MySQL的默认隔离级别是什么?
11、什么是幻读,脏读,不可重复读呢?
12、在高并发情况下,如何做到安全的修改同一行数据?
13、数据库的乐观锁和悲观锁。
14、SQL优化的一般步骤是什么,怎么看执行计划(explain),如何理解其中各个字段的含义。
15、selectforupdate有什么含义,会锁表还是锁行还是其他。
16、MySQL事务得四大特性以及实现原理
17、如果某个表有近千万数据,CRUD比较慢,如何优化。
18、如何写sql能够有效的使用到复合索引。
19、mysql中in和exists的区别。
20、数据库自增主键可能遇到什么问题。
21、MVCC熟悉吗,它的底层原理?
22、数据库中间件了解过吗,shardingjdbc,mycat?
23、MYSQL的主从延迟,你怎么解决?
24、说一下大表查询的优化方案
25、什么是数据库连接池?为什么需要数据库连接池呢?
26、一条SQL语句在MySQL中如何执行的?
27、InnoDB引擎中的索引策略,了解过吗?
28、数据库存储日期格式时,如何考虑时区转换问题?
29、一条sql执行过长的时间,你如何优化,从哪些方面入手?
30、MYSQL数据库服务器性能分析的方法命令有哪些?
31、Blob和text有什么区别?
32、mysql里记录货币用什么字段类型比较好?
33、Mysql中有哪几种锁,列举一下?
34、Hash索引和B+树区别是什么?你在设计索引是怎么抉择的?
35、mysql的内连接、左连接、右连接有什么区别?
36、说说MySQL的基础架构图
37、什么是内连接、外连接、交叉连接、笛卡尔积呢?
38、说一下数据库的三大范式
39、mysql有关权限的表有哪几个呢?
40、Mysql的binlog有几种录入格式?分别有什么区别?
41、InnoDB引擎的4大特性,了解过吗
42、索引有哪些优缺点?
43、索引有哪几种类型?
44、创建索引有什么原则呢?
45、创建索引的三种方式
46、百万级别或以上的数据,你是如何删除的?
47、什么是最左前缀原则?什么是最左匹配原则?
48、B树和B+树的区别,数据库为什么使用B+树而不是B树?
49、覆盖索引、回表等这些,了解过吗?
50、B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据?
51、何时使用聚簇索引与非聚簇索引
52、非聚簇索引一定会回表查询吗?
53、组合索引是什么?为什么需要注意组合索引中的顺序?
54、什么是数据库事务?
55、隔离级别与锁的关系
56、按照锁的粒度分,数据库锁有哪些呢?锁机制与InnoDB锁算法
57、从锁的类别角度讲,MySQL都有哪些锁呢?
58、MySQL中InnoDB引擎的行锁是怎么实现的?
59、什么是死锁?怎么解决?
60、为什么要使用视图?什么是视图?
61、视图有哪些特点?哪些使用场景?
62、视图的优点,缺点,讲一下?
63、count(1)、count(*)与count(列名)的区别?
64、什么是游标?
65、什么是存储过程?有哪些优缺点?
66、什么是触发器?触发器的使用场景有哪些?
67、MySQL中都有哪些触发器?
68、超键、候选键、主键、外键分别是什么?
69、SQL约束有哪几种呢?
70、谈谈六种关联查询,使用场景。
71、varchar(50)中50的涵义
72、mysql中int(20)和char(20)以及varchar(20)的区别
73、drop、delete与truncate的区别
74、UNION与UNIONALL的区别?
75、SQL的生命周期?
76、一条Sql的执行顺序?
77、列值为NULL时,查询是否会用到索引?
78、关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
79、主键使用自增ID还是UUID,为什么?
80、mysql自增主键用完了怎么办?
81、字段为什么要求定义为notnull?
82、如果要存储用户的密码散列,应该使用什么字段进行存储?
83、Mysql驱动程序是什么?
84、如何优化长难的查询语句?有实战过吗?
85、优化特定类型的查询语句
86、MySQL数据库cpu飙升的话,要怎么处理呢?
87、读写分离常见方案?
88、MySQL的复制原理以及流程
89、MySQL中DATETIME和TIMESTAMP的区别
90、Innodb的事务实现原理?
91、谈谈MySQL的Explain
92、Innodb的事务与日志的实现方式
93、MySQL中TEXT数据类型的最大长度
94、500台db,在最快时间之内重启。
95、你是如何监控你们的数据库的?你们的慢日志都是怎么查询的?
96、你是否做过主从一致性校验,如果有,怎么做的,如果没有,你打算怎么做?
97、你们数据库是否支持emoji表情存储,如果不支持,如何操作?
98、MySQL如何获取当前日期?
99、一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。
100、 Mysql一条SQL加锁分析


二、进阶面试题


1、你如何确定MySQL是否处于运行状态?
2、如何开启或停止MySQL服务?
3、如何通过Shell登入MySQL?
4、如何列出所有数据库?
5、如何切换到某个数据库并在上面工作?
6、MYSQL支持事务吗?
7、MYSQL数据库服务器性能分析的方法命令有哪些?
8、mysql里记录货币用什么字段类型好?
9、mysql存储引擎有哪些?如何修改mysql存储引擎?
10、MYSQL 数据表修复及数据恢复

详细内容:关注👇🏻 ❤❤ + 输入[面试题] + 领取面试资料答案)!  

06-27 22:31