100道MySQL数据库经典面试题

数据库

1. MySQL 索引使用有哪些注意事项呢?

索引哪些情况会失效

索引不适合哪些场景

索引的一些潜规则

2. MySQL 遇到过死锁问题吗,你是如何解决的?

3. 日常工作中你是怎么优化SQL的?
4. 说说分库与分表的设计
分库分表方案:
常用的分库分表中间件:
分库分表可能遇到的问题

5. InnoDB与MyISAM的区别

6. 数据库索引的原理,为什么要用 B+树,为什么不用二叉树?

为什么不是一般二叉树?
为什么不是平衡二叉树呢?
那为什么不是B树而是B+树呢?

7. 聚集索引与非聚集索引的区别

何时使用聚集索引或非聚集索引?

8. limit 1000000 加载很慢的话,你是怎么解决的呢?

9. 如何选择合适的分布式主键方案呢?

10. 事务的隔离级别有哪些?MySQL的默认隔离级别是什么?

11. 什么是幻读,脏读,不可重复读呢?

12. 在高并发情况下,如何做到安全的修改同一行数据?

13. 数据库的乐观锁和悲观锁。

14. SQL优化的一般步骤是什么,怎么看执行计划(explain),如何理解其中各个字段的含义。

15. select for update有什么含义,会锁表还是锁行还是其他。

16. MySQL事务得四大特性以及实现原理

17. 如果某个表有近千万数据,CRUD比较慢,如何优化。

18. 如何写sql能够有效的使用到复合索引。

19. mysql中in 和exists的区别。

20. 数据库自增主键可能遇到什么问题。

21. MVCC熟悉吗,它的底层原理?

22. 数据库中间件了解过吗,sharding jdbc,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与UNION ALL的区别?

75. SQL的生命周期?

76. 一条Sql的执行顺序?

77. 列值为NULL时,查询是否会用到索引?

78. 关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?

79. 主键使用自增ID还是UUID,为什么?

80. mysql自增主键用完了怎么办?

81. 字段为什么要求定义为not null?

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加锁分析

#MySQL##面试#
全部评论
看来是我把mysql想简单了
点赞 回复
分享
发布于 2022-06-28 11:54

相关推荐

1 19 评论
分享
牛客网
牛客企业服务