- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
MySQL面试题大全及参考答案
一、基础语法与概念类(入门必问)
1.MySQL中CHAR和VARCHAR的区别?实际场景怎么选?
答案:
存储方式:CHAR是固定长度(如CHAR(10),无论存1个还是10个字符,都占10字节),VARCHAR是可变长度(如VARCHAR(10),存1个字符占2字节:1字节存内容+1字节存长度标识);
空格处理:CHAR会自动截断尾部空格,VARCHAR会保留实际输入的空格;
性能:CHAR查询速度略快(无需计算长度),VARCHAR更节省存储空间;
场景选择:短文本、长度固定(如手机号、身份证号、性别)用CHAR;长文本、长度不固定(如用户名、地址、备注)用VARCHAR。
2.什么是事务?事务的ACID特性分别是什么?
答案:
事务是一组不可分割的SQL执行单元,要么全部成功,要么全部失败(如转账:扣款和到账必须同时完成)。
ACID特性:
原子性(Atomicity):事务是最小执行单位,不可拆分,要么全执行要么全回滚;
一致性(Consistency):事务执行前后,数据总状态保持合法(如转账前后,双方总金额不变);
隔离性(Isolation):多个事务并发执行时,彼此不会相互干扰;
持久性(Durability):事务提交后,数据修改永久生效(即使数据库崩溃也不会丢失)。
3.MySQL的事务隔离级别有哪些?默认是哪个?各级别会出现什么问题?
答案:
隔离级别从低到高:读未提交(ReadUncommitted)→读已提交(ReadCommitted)→可重复读(RepeatableRead)→串行化(Serializable);
默认隔离级别:InnoDB引擎默认「可重复读(RR)」;
各级别问题(脏读、不可重复读、幻读):
隔离级别
脏读
不可重复读
幻读
读未提交
有
有
有
读已提交
无
有
有
可重复读(RR)
无
无
无
串行化
无
无
无
补充:脏读=读取到其他事务未提交的数据;不可重复读=同一事务内多次读同一数据,结果不一致;幻读=同一事务内多次查询,结果集行数不一致。
4.MySQL的存储引擎有哪些?InnoDB和MyISAM的核心区别?
答案:
常见存储引擎:InnoDB、MyISAM、Memory、CSV等;
核心区别(面试高频):
特性
InnoDB
MyISAM
事务支持
支持
不支持
锁机制
行级锁(并发性能好)
表级锁(并发性能差)
外键支持
支持
不支持
索引结构
聚簇索引(主键索引叶子节点存数据)
非聚簇索引(索引和数据分开存)
崩溃恢复
支持(事务日志)
不支持(易丢数据)
适用场景
读写频繁、需要事务(如电商、金融)
只读场景、数据量小(如博客、报表)
二、索引相关(面试重点)
5.什么是索引?索引的作用是什么?优缺点?
答案:
索引是数据库中对数据列建立的「快速查询数据结构」(类似书籍目录),核心作用是加速查询,降低IO成本。
优点:①提高查询速度(如SELECT、JOIN);②减少查询时扫描的数据量;
缺点:①占用额外存储空间;②降低写操作效率(INSERT/UPDATE/DELETE时,需同步维护索引);
注意:索引不是越多越好,一般单表索引数建议≤5个。
6.MySQL的索引类型有哪些?(从不同维度分类)
答案:
按数据结构分:B+树索引(默认)、哈希索引、全文索引、R树索引;
按功能分:
①主键索引(PRIMARYKEY):唯一标识数据,不可为空,一张表只能有一个;
②唯一索引(UNIQUE):索引列值唯一,可为空(多个NULL不冲突);
③普通索引(INDEX):无约束,仅加速查询;
④联合索引(复合索引):多列组合的索引(如INDEXidx_name_age(name,age));
⑤全文索引(FULLTEXT):用于文本内容模糊查询(如文章标题、内容搜索)。
7.什么是聚簇索引和非聚簇索引?InnoDB的聚簇索引有什么特点?
答案:
聚簇索引:索引的叶子节点直接存储「完整数据行」,数据和索引物理上在一起;
非聚簇索引:索引的叶子节点存储「数据行的主键ID」,需通过主键ID回表查询完整数据;
InnoDB特点:①主键索引默认是聚簇索引;②若无主键,会选唯一非空索引作为聚簇索引;③若都没有,会自动生成隐藏的聚簇索引(row_id);④非聚簇索引(如普通索引)的叶子节点存主键值,查询时需「回表」(除非覆盖索引)。
8.联合索引的「最左前缀原则」是什么?举个例子说明?
答案:
联合索引(a,b,c)的查询生效规则是:必须从最左列开始匹配,中间不能
您可能关注的文档
最近下载
- 《成人围手术期血糖监测专家共识》解读【26页】.pptx VIP
- 八上物理:【教科】期末模拟卷【八上全册】.docx VIP
- 水文学与水文地质学答案.doc VIP
- 中国建设银行建银工程咨询有限责任公司2026年度校园招聘9人笔试备考试题及答案解析.docx VIP
- 学生英语单词听写稿纸模板(仅打印).docx VIP
- 2025年电力调度题库及答案.doc
- (正式版)DB61∕T 1770-2023 《公路隧道二次衬砌施工质量控制指南》.docx VIP
- 《宁波市海绵城市建设技术标准图集》2018甬DX-09.pdf
- 中国建设银行建银工程咨询有限责任公司2026年度校园招聘9人笔试参考题库附答案解析.docx VIP
- 《建设工程工程量清单计价规范》GB505002013.pdf
原创力文档


文档评论(0)