版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年mysql数据库考试试题及答案一、单项选择题(共20题,每题2分,共40分)1、MySQL8.4LTS版本默认的存储引擎是()A.MyISAMB.InnoDBC.MemoryD.Archive答案:B解析:MySQL5.5之后默认存储引擎为InnoDB,8.0及以上版本已完全移除MyISAM存储引擎的系统表,不再原生支持MyISAM作为核心存储引擎。A选项MyISAM不支持事务、行锁、外键,仅适用于只读无事务的小众场景;C选项Memory存储引擎将数据存在内存中,断电丢失,仅适用于临时缓存场景;D选项Archive存储引擎仅支持插入和查询,压缩比高,适用于日志归档场景。2、存储国内11位手机号,最优的数据类型是()A.INTB.BIGINTC.CHAR(11)D.VARCHAR(20)答案:C解析:国内手机号固定长度为11位,CHAR(11)为定长字符串类型,无需存储长度前缀,检索效率高于变长类型,同时避免数值类型可能出现的前导0丢失、超出数值范围等问题。A选项INT最大存储值为2147483647,无法覆盖11位手机号的取值范围;B选项BIGINT虽可存储,但无法保留前导0,且无法适配带区号的海外手机号扩展场景;D选项VARCHAR(20)为变长类型,存储效率低于定长类型。3、MySQLInnoDB默认的事务隔离级别是()A.读未提交(ReadUncommitted)B.读已提交(ReadCommitted)C.可重复读(RepeatableRead)D.串行化(Serializable)答案:C解析:InnoDB默认隔离级别为可重复读,通过MVCC+临键锁机制解决了脏读、不可重复读、幻读三类并发问题,兼顾了一致性和并发性能。4、下列不属于InnoDB聚簇索引特点的是()A.叶子节点存储完整行数据B.一个表只能有一个聚簇索引C.聚簇索引默认建立在主键列上D.聚簇索引的叶子节点存储行数据的物理地址答案:D解析:D选项为MyISAM非聚簇索引的特点,InnoDB聚簇索引的叶子节点直接存储完整行数据,而非地址指针。5、InnoDB实现MVCC不需要依赖的组件是()A.undologB.redologC.隐藏列D.ReadView答案:B解析:redolog为重做日志,用于保证事务的持久性和崩溃恢复,与MVCC实现无关。MVCC核心依赖:隐藏列(DB_TRX_ID事务ID、DB_ROLL_PTR回滚指针等)、undolog存储数据历史版本、ReadView判断版本可见性。6、Explain执行计划的type列,下列性能最优的是()A.refB.rangeC.constD.eq_ref答案:C解析:type列性能从优到差排序为:system>const>eq_ref>ref>range>index>ALL,const表示通过主键或唯一索引等值查询,最多返回1行数据,性能极高。7、下列不属于MySQL8.0新增特性的是()A.窗口函数B.原子DDLC.JSON数据类型D.不可见索引答案:C解析:JSON数据类型为MySQL5.7版本新增,8.0仅对JSON功能做了性能增强,支持部分更新、JSON索引优化等。8、InnoDB为解决幻读问题默认采用的行锁算法是()A.记录锁(RecordLock)B.间隙锁(GapLock)C.临键锁(Next-KeyLock)D.意向锁答案:C解析:临键锁为记录锁+间隙锁的组合,锁定范围为左开右闭区间,可防止其他事务在锁定范围内插入新数据,彻底解决幻读问题。9、下列索引失效场景描述错误的是()A.索引列参与函数运算会导致索引失效B.联合索引不满足最左前缀匹配会失效C.like模糊查询左前缀匹配会导致索引失效D.索引列发生隐式类型转换会导致索引失效答案:C解析:like右模糊('abc%')可命中索引,左模糊('%abc')或全模糊('%abc%')才会导致索引失效。10、下列关于count函数性能的描述,正确的是()A.InnoDB中count(*)性能远高于count(1)B.MyISAM中不带where条件的count(*)性能极高C.count(列名)会统计该列值为NULL的行D.所有场景下count(*)性能都是最优的答案:B解析:MyISAM存储了表的总行数统计值,不带where条件的count(*)可直接返回统计值,无需遍历。A选项InnoDB8.0中count(*)和count(1)性能差异极小,优化器都会选择最小的索引遍历计数;C选项count(列名)会忽略该列值为NULL的行;D选项带where条件的count查询性能取决于过滤条件和索引覆盖情况。11、唯一索引和主键索引的区别描述错误的是()A.主键索引不允许为NULL,唯一索引允许存在多个NULL值B.一个表可以有多个唯一索引,只能有一个主键索引C.主键索引一定是聚簇索引,唯一索引一定是二级索引D.主键索引和唯一索引都不允许重复值答案:C解析:若表未显式定义主键,InnoDB会自动选择第一个非空唯一索引作为聚簇索引,因此唯一索引也可能是聚簇索引。12、下列关于delete和truncate的区别,描述错误的是()A.delete是DML语句,truncate是DDL语句B.delete可以回滚,truncate无法回滚C.delete会触发表上的触发器,truncate不会触发D.delete和truncate都会重置自增主键的起始值答案:D解析:delete删除数据不会重置自增主键的起始值,truncate会清空表数据并重置自增主键起始值。13、下列关于慢查询日志的描述,错误的是()A.慢查询日志默认处于关闭状态B.慢查询默认阈值为10秒,执行时间超过10秒的SQL会被记录C.慢查询日志只会记录执行失败的慢SQLD.可通过long_query_time参数自定义慢查询阈值答案:C解析:慢查询日志会记录所有执行时间超过阈值且扫描行数超过min_examined_row_limit的SQL,无论执行成功还是失败。14、InnoDB缓冲池(BufferPool)的作用不包括()A.缓存数据页B.缓存索引页C.缓存binlog日志D.缓存插入缓冲、自适应哈希索引等结构答案:C解析:binlog日志存储在磁盘的二进制日志文件中,不属于缓冲池的缓存内容。15、下列关于事务ACID特性的对应关系,错误的是()A.原子性:事务的所有操作要么全部成功,要么全部失败回滚B.一致性:事务执行前后,数据的完整性约束不被破坏C.隔离性:多个事务并发执行时,相互之间无影响D.持久性:事务一旦提交,对数据的修改是永久的,即使系统崩溃也不会丢失答案:C解析:隔离性指多个事务并发执行时,一个事务的内部操作对其他事务是隔离的,不同隔离级别下允许存在不同程度的相互影响,并非完全无影响。16、MySQL中用来实现主从数据同步的日志是()A.redologB.binlogC.undologD.slowlog答案:B解析:binlog为二进制日志,记录了所有数据变更操作,是主从复制的核心介质。17、联合索引idx(a,b,c),下列SQL无法命中该索引的是()A.SELECT*FROMtWHEREa=1ANDb=2B.SELECT*FROMtWHEREa=1ANDb>2ANDc=3C.SELECT*FROMtWHEREb=2ANDc=3D.SELECT*FROMtWHEREa=1ORDERBYb答案:C解析:联合索引遵循最左前缀匹配原则,查询条件中未包含最左列a,无法命中索引。B选项中b为范围查询,范围查询右侧的c无法用到索引查找,但a和b仍可命中索引。18、下列关于覆盖索引的描述,正确的是()A.覆盖索引是指包含了主键的索引B.覆盖索引需要回表查询完整行数据C.覆盖索引可以减少IO开销,提升查询性能D.覆盖索引只适用于等值查询场景答案:C解析:覆盖索引指查询的所有字段都包含在索引中,无需回表访问聚簇索引,可大幅减少随机IO开销,适用于等值、范围、分组、排序等各类查询场景。19、MySQL8.0默认的用户认证插件是()A.mysql_native_passwordB.caching_sha2_passwordC.sha256_passwordD.auth_socket答案:B解析:8.0默认采用caching_sha2_password认证插件,密码加密强度更高,安全性优于旧版本的mysql_native_password。20、下列关于锁的描述,错误的是()A.InnoDB的行锁是针对索引加的,无索引时会升级为表锁B.意向共享锁和意向排他锁之间是兼容的C.读锁是共享锁,写锁是排他锁D.表锁的并发性能高于行锁答案:D解析:表锁粒度大,并发时冲突概率高,性能远低于行锁。二、填空题(共10题,每题2分,共20分)1、MySQL默认服务端口是______。答案:33062、Linux环境下MySQL默认的配置文件名称是______。答案:f3、InnoDB中,实现事务持久性的核心日志是______。答案:redolog(重做日志)4、索引的最左前缀匹配原则中,联合索引的排序依据是______。答案:索引创建时的列顺序5、Explain执行计划的Extra列出现______时,表示使用了覆盖索引,无需回表。答案:Usingindex6、MySQL中用来判断索引区分度的公式是______。答案:COUNT(DISTINCT列名)/COUNT(*)7、InnoDB中,当表未显式定义主键时,会自动生成长度为______字节的隐藏主键。答案:68、MySQL8.0中,实现分组排序类查询的核心新增功能是______。答案:窗口函数9、主从复制中,从库用来存储主库binlog内容的本地日志是______。答案:relaylog(中继日志)10、慢查询日志中,用来记录SQL扫描行数的参数是______。答案:min_examined_row_limit三、判断题(共10题,每题1分,共10分)1、唯一索引允许存在多个NULL值。(√)解析:MySQL中NULL不等于任何值,包括自身,因此多个NULL值不会违反唯一约束。2、InnoDB的行锁粒度比MyISAM的表锁粒度小,并发性能更高。(√)3、使用前缀索引时,前缀长度越长,查询性能越好。(×)解析:前缀长度只要满足区分度≥90%即可,过长的前缀会导致索引体积增大,反而降低写性能,收益极低。4、事务隔离级别越高,并发性能越好。(×)解析:隔离级别越高,锁的粒度越大,并发冲突概率越高,性能越差。5、外键约束会自动在外键列创建索引。(√)解析:InnoDB会自动在外键列创建索引,避免关联查询时的表锁。6、limit10000,10的性能优于id>10000limit10。(×)解析:limit10000,10需要扫描10010行数据,id>10000limit10可通过主键索引直接定位起始位置,仅扫描10行,性能更高。7、Explain的Extra列出现Usingfilesort表示使用了磁盘文件排序,需要优化。(√)解析:Usingfilesort为内存或磁盘排序,无法利用索引排序,性能较差,应尽量通过联合索引避免。8、MySQL8.0的原子DDL支持DDL操作的回滚,避免中途崩溃导致的数据损坏。(√)9、InnoDB的MVCC仅在可重复读隔离级别下生效。(×)解析:MVCC在可重复读和读已提交两个隔离级别下都生效,区别是可重复读级别下同一个事务的ReadView仅在第一次查询时生成,读已提交级别下每次查询都会生成新的ReadView。10、一张表的索引数量越多,查询性能越好。(×)解析:索引会增加增删改的开销,占用存储空间,单表索引数量建议不超过5个,避免冗余索引。四、简答题(共4题,每题7分,共28分)1、简述InnoDB和MyISAM的核心区别。答案:①事务支持:InnoDB支持ACID事务,MyISAM不支持事务;②锁粒度:InnoDB默认支持行锁,并发性能高,MyISAM仅支持表锁,并发性能差;③聚簇索引:InnoDB主键为聚簇索引,叶子节点存储完整行数据,MyISAM为非聚簇索引,叶子节点存储行数据的物理地址;④外键支持:InnoDB支持外键约束,MyISAM不支持;⑤崩溃恢复:InnoDB通过redolog实现崩溃安全恢复,数据可靠性高,MyISAM崩溃后易出现数据损坏,无法保证数据完整性;⑥计数性能:MyISAM存储了表的总行数统计值,不带where条件的count(*)可直接返回,性能远高于InnoDB;⑦版本适配:MySQL8.0及以上版本已移除MyISAM系统表,不再官方推荐使用。2、简述MVCC的实现原理和解决的核心问题。答案:MVCC(多版本并发控制)是InnoDB实现非阻塞读的核心机制,核心依赖三个组件:①隐藏列:每行数据包含DB_TRX_ID(最后修改该行的事务ID)、DB_ROLL_PTR(指向undolog中旧版本数据的回滚指针)、DB_ROW_ID(隐藏主键)三个隐藏列;②undolog:记录数据修改前的历史版本,事务回滚和MVCC读取旧版本数据时使用;③ReadView:读视图,包含当前活跃未提交的事务ID集合、最小活跃事务ID、下一个待分配的事务ID、当前事务ID四个核心字段,通过匹配数据的DB_TRX_ID判断版本可见性:若DB_TRX_ID小于最小活跃事务ID,说明修改事务已提交,数据可见;若大于下一个待分配事务ID,说明修改事务在ReadView生成后才启动,数据不可见;若处于中间范围,判断是否在活跃事务集合中,在则未提交不可见,不在则已提交可见。解决的核心问题:实现读写不阻塞,读操作无需加锁,大幅提升并发性能;在可重复读隔离级别下解决了不可重复读问题,配合临键锁解决了幻读问题。3、简述MySQL索引的核心优化原则。答案:①高区分度优先:优先选择区分度≥90%的列建索引,性别、状态等低区分度列不建议单独建索引;②最左前缀匹配:联合索引按照等值条件优先、查询频率从高到低的顺序排列,查询时需用到最左列才可命中索引;③避免索引失效:不要在索引列上做函数运算、类型转换、避免左模糊匹配、or两边需都有索引才可命中,范围查询右侧的列无法用到索引查找;④覆盖索引优先:尽量让查询的所有字段包含在索引中,无需回表,减少随机IO开销;⑤控制索引数量:单表索引不超过5个,避免冗余索引、重复索引,减少增删改的开销;⑥合理使用前缀索引:字符串列可仅对前N个字符建索引,在保证区分度的前提下尽量缩短前缀长度,减少索引体积;⑦索引适配业务:索引需针对高频查询场景创建,避免为低频查询创建冗余索引。4、简述MySQL8.0相对于5.7的核心新特性。答案:①原子DDL:DDL操作支持事务级原子性,要么全部成功要么回滚,避免中途崩溃导致的数据损坏;②窗口函数:支持ROW_NUMBER()、RANK()、DENSE_RANK()等窗口函数,大幅简化分组排序类查询,无需编写复杂子查询;③不可见索引:可将索引设置为不可见,优化器不会使用该索引,可用于测试索引的必要性,删除前先设置为不可见验证无影响再删除,降低操作风险;④降序索引:原生支持降序索引,可直接通过索引实现降序排序,避免旧版本的filesort开销;⑤JSON功能增强:支持JSON字段部分更新、JSON索引优化,JSON查询性能提升50%以上;⑥并行复制增强:基于逻辑时钟的并行复制,同一组提交的事务可在从库并行重放,主从延迟降低80%以上;⑦无损半同步复制:默认开启无损半同步,主库需等待至少一个从库收到binlog后才返回客户端事务成功,保证数据零丢失。五、实操题(共2题,每题11分,共22分)1、现有订单表`order`,字段如下:order_idBIGINTPRIMARYKEYAUTO_INCREMENTCOMMENT'订单ID',user_idBIGINTNOTNULLCOMMENT'用户ID',order_amountDECIMAL(10,2)NOTNULLCOMMENT'订单金额',create_timeDATETIMENOTNULLCOMMENT'创建时间',statusTINYINTNOTNULLCOMMENT'订单状态:1待支付2已支付3已取消4已完成'需求1:查询2024年全年累计消费(仅统计已完成订单)超过1000元的用户ID和累计消费金额,按累计金额降序排序,写出对应的SQL语句。答案:SELECTuser_id,SUM(order_amount)AStotal_amountFROM`order`WHEREcreate_timeBETWEEN'2024-01-0100:00:00'AND'2024-12-3123:59:59'ANDstatus=4GROUPBYuser_idHAVINGtotal_amount>1000ORDERBYtotal_amountDESC;需求2:为上述查询创建最优的联合索引,写出索引创建语句并说明原因。答案:CREATEINDEXidx_status_crtime_user_amountON`order`(status,create_time,user_id,order_amount);原因:status为等值过滤条件放在最左,create_time为范围过滤条件放在第二位,后续的user_id、order_amount虽然无法用到索引查找,但属于覆盖索引的组成部分,所有查询需要的字段都包含在索引中,无需回表访问聚簇索引,性能最优。2、现有学生成绩表`score`,字段如下:idINTPRIMARYKEYAUTO_INCREMENT,student_idINTNOTNULLCOMMENT'学生ID',course_idINTNOTNULLCOMMENT'课程ID',scoreINTNOTNULLCOMMENT'分数',exam_timeDATETIMENOTNULLCOMMENT'考试时间'需求:查询每门课程的前三名学生(允许分数并列),返回课程ID、学生ID、分数,按课程ID升序、分数降序排序,写出对应的SQL语句。答案:WITHranked_scoreAS(SELECTcourse_id,student_id,score,DENSE_RANK(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 玻璃制品加工工班组考核知识考核试卷含答案
- 2025年下半年教师资格证中学《综合素质》考试真题及答案
- 2025年通信专业技术人员职业资格考试真题附答案
- 2025年计算机二级考试题库真题wps及答案
- 2025年教师资格小学教育知识与能力真题及参考答案(完-整版)
- 2025年河南省郑州市中考数学考试真题及答案
- 八年级下册英语沪教版Unit 3 Traditional-listen Talk speak
- 2025年cpa注册会计师会计真题试卷+解析及答案
- 2025年06月中国电子学会青少年软件编程(Python)等级考试试卷(一级)答案
- 2026浙江省卫生系统招聘考试(麻醉科)历年参考题库含答案详解2卷
- 经济运行高质量发展统计指标工作手册
- 物联网的控制 课件 2024-2025学年清华大学版(2024)初中信息技术八年级上册
- 外研版(三起)(2024)小学三年级上册英语Unit 2《My school things》教案
- DB4203∕T 239-2024 黄精九蒸九晒加工技术规程
- 《大数据导论》电子教学课件
- 网店客服管理-售前客户服务-课件-
- DL∕T 1576-2016 6kV~35kV电缆振荡波局部放电测试方法
- 女病人导尿术操作及评分标准
- 《肺部感染的护理课件》
- 风湿免疫疾病的心理应激与心理干预
- 压力容器制造评审记录
评论
0/150
提交评论