我把所有Java相关的面试题和答案都整理成了PDF,并且带书签目录,阅读起来非常方便
面试题及答案PDF下载:https://www.hicxy.com/?p=2645
面试题及答案PDF下载:https://www.hicxy.com/?p=2645
面试题及答案PDF下载:https://www.hicxy.com/?p=2645
1. 什么是关系型数据库?
关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。
简单来说,关系模式就是二维表格模型。
2. 联合查询(UNION与UNION ALL)
SELECT * FROM A UNION SELECT * FROM B UNION ...
- 就是把多个结果集集中在一起,UNION前的结果为基准,需要注意的是联合查询的列数要相等,相同的记录行会合并
- 如果使用UNION ALL,不会合并重复的记录行
- 效率 UNION 高于 UNION ALL
3. InnoDB和MyISAM有什么区别?
- InnoDB支持事物,而MyISAM不支持事物
- InnoDB支持行级锁,而MyISAM支持表级锁
- InnoDB支持MVCC, 而MyISAM不支持
- InnoDB支持外键,而MyISAM不支持
- InnoDB不支持全文索引,而MyISAM支持。
|
MyISAM |
Innodb |
文件格式 |
数据和索引是分别存储的,数据.MYD ,索引.MYI
|
数据和索引是集中存储的,.ibd
|
文件能否移动 |
能,一张表就对应.frm 、MYD 、MYI 3个文件 |
否,因为关联的还有data 下的其它文件 |
记录存储顺序 |
按记录插入顺序保存 |
按主键大小有序插入 |
空间碎片(删除记录并flush table 表名 之后,表文件大小不变) |
产生。定时整理:使用命令optimize table 表名 实现 |
不产生 |
事务 |
不支持 |
支持 |
外键 |
不支持 |
支持 |
锁支持(锁是避免资源争用的一个机制,MySQL锁对用户几乎是透明的) |
表级锁定 |
行级锁定、表级锁定,锁定力度小并发能力高 |
4. 数据库删除操作中的 delete、drop、 truncate 区别在哪?
- 当不再需要该表时可以用 drop 来删除表;
- 当仍要保留该表,但要删除所有记录时, 用 truncate 来删除表中记录。
- 当要删除部分记录时(一般来说有 WHERE 子句约束) 用 delete 来删除表中部分记录。
5. 如果要存储用户的密码散列,应该使用什么字段进行存储?
密码散列,盐,用户身份证号等固定长度的字符串应该使用char而不是varchar来存储,这样可以节省空间且提高检索效率.
后面的问题,大家可以先自己独立思考一下。
另外我把所有Java相关的面试题和答案都整理出来了,给大家参考一下
面试题及答案PDF下载:https://www.hicxy.com/?p=2645
面试题及答案PDF下载:https://www.hicxy.com/?p=2645
面试题及答案PDF下载:https://www.hicxy.com/?p=2645
6. innodb的事务与日志的实现方式
7. 索引是个什么样的数据结构呢?
8. MySql 服务默认端口号是多少 ?
9. 简单描述 MySQL 中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响(从读写两方面)
10. MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义
11. 列值为NULL时,查询是否会用到索引?
12. MySQL由哪些部分组成, 分别用来做什么
13. 创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?
14. 对MySQL的锁了解吗?
15. 创建MySQL联合索引应该注意什么?
16. 超键、候选键、主键、外键分别是什么?
17. varchar(10)和int(10)代表什么含义?
18. MySQL事务处理
19. 怎么解决这些问题呢?MySQL的事务隔离级别了解吗?
20. 上面提到了B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,什么是聚簇索引?
21. MySQL的复制原理以及流程
22. MySQL 中有哪几种锁?
23. 索引的基础
24. MySQL 存储引擎类型有哪些?
25. MySQL的常用操作
26. 你们数据库是否支持emoji表情,如果不支持,如何操作?
27. 简单描述MySQL中,索引,主键,唯一索引,联合索引的区别,对数据库的性能有什么影响?
28. MySQL索引的注意事项
29. 横向分表和纵向分表,可以分别举一个适合他们的例子吗?
30. MySQL索引的创建原则
31. MySQL 数据库作发布系统的存储,一天五万条以上的增量, 预计运维三年,怎么优化?
32. MySQL中varchar与char的区别以及varchar(50)中的50代表的涵义
33. ACID是什么?可以详细说一下吗?
34. MyISAM索引与InnoDB索引的区别?
35. 为什么要尽量设定一个主键?
36. B-Tree 和 B+Tree
37. UNION与UNION ALL的区别?
38. SQL 语句有哪些分类?
39. 那么在哪些情况下会发生针对该列创建了索引但是在查询的时候并没有使用呢?
40. MySQL锁机制
41. MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了?
42. drop、delete与truncate分别在什么场景之下使用?
43. MySQL支持哪些存储引擎?
44. 存储过程和函数好像差不多,你说说他们有什么区别?
45. int(10) 和 bigint(10) 能存储的数据大小一样吗?
46. 索引对性能的影响:
47. 以下语句是否会应用索引:SELECT FROM users WHERE YEAR(adddate) < 2007;
48. 六种关联查询
49. 触发器的使用场景
50. 请说明InnoDB和MyISAM的区别
51. MySQL 里记录货币用什么字段类型好
52. MySQL索引的原理
53. VARCHAR(50) 能存放几个 UTF8 编码的汉字?
54. Innodb使用的是哪种隔离级别呢?
55. 索引分类
56. 什么是视图?以及视图的使用场景有哪些?
57. 什么是事务?
58. SQL语句优化的一些方法?
59. 索引的类型
60. MyISAM存储引擎特性有哪些?
61. 优化数据库的方法
62. 使用 MySQL 视图有何优点?
63. 什么是MySQL?
64. 一个6亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录。
65. 什么是存储过程?
66. MySQL数据库cpu飙升到500%的话他怎么处理?
67. InnoDB 存储引擎应用场景是什么?
68. 非聚簇索引一定会回表查询吗?
69. 关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
70. 内连接分为三类
71. SQL 注入漏洞产生的原因?如何防止?
72. 锁的优化策略
73. 同时有多个事务在进行会怎么样呢?
74. 请说明varchar和text的区别
75. 以下三条sql 如何建索引,只建一条怎么建?
76. Myql 中的事务回滚机制概述
77. SELECT COUNT(*) 在哪个引擎执行更快?
78. 全连接(FULL JOIN)
79. 怎么看到为表格定义的所有索引?
80. 数据库的乐观锁和悲观锁是什么?
81. MySQL的binlog有有几种录入格式?分别有什么区别?
82. MySQL复制基本原理流程
83. 主键使用自增ID还是UUID?
84. 字段为什么要求定义为not null?
85. CHAR 和 VARCHAR的区别?
86. 什么是 MySql 视图?
87. 存储引擎常用命令
88. 什么是 SQL
89. 简单说一说drop、delete与truncate的区别
90. myisamchk 是用来做什么的?
91. 锁机制与InnoDB锁算法
92. innodb引擎的特性
93. 索引的优缺点
94. Explain 性能分析
95. 关系型数据库有什么优势?
96. MyISAM存储引擎应用场景有哪些?
97. FLOAT和DOUBLE的区别是什么?
98. MySQL 有哪些数据类型?
99. Hash索引和B+树所有有什么区别或者说优劣呢?
100. 唯一索引比普通索引快吗, 为什么
101. 外连接(LEFT JOIN/RIGHT JOIN)
102. InnoDB 引擎的四大特性是什么?
103. 如何优化SQL
104. MyISAM索引实现?
105. 并发事务带来哪些问题?
106. 做过哪些MySQL索引相关优化
107. 存储时期
108. MySQL中的varchar和char有什么区别.
109. 什么是触发器,MySQL中都有哪些触发器?
110. 索引的使用场景
111. 为什么用 B+ 树做索引而不用哈希表做索引?
112. 超大分页怎么处理?
113. 如果一个表有一列定义为TIMESTAMP,将发生什么?
114. 如何在MySQL种获取当前日期?
115. 使用索引查询一定能提高查询的性能吗?为什么
116. 说一说三个范式
117. 什么情况下设置了索引但无法使用
118. 联合索引是什么?为什么需要注意联合索引中的顺序?
119. 索引是什么?有什么作用以及优缺点?
120. MySQL如何保证复制过程中数据一致性及减少数据同步延时
121. 什么是存储过程?有哪些优缺点?
122. 创建索引的语法
123. 解释 MySQL 外连接、内连接与自连接的区别
124. 索引的区别
125. 在建立索引的时候,都有哪些需要考虑的因素呢?