全部学科
Python全栈
python
NodeJS全栈
nodejs

MySQL索引与优化专题测试

21 题 45 分钟 难度:★★

考察知识点

本试卷涵盖以下核心知识点:

索引基础(6题)

  • 索引的基本概念与作用
  • 创建索引的语法与方法
  • 查看索引的方法
  • 主键自动创建索引机制
  • 索引的代价与收益

索引类型(6题)

  • 普通索引、唯一索引、主键索引的特点
  • 组合索引的概念与最左匹配原则
  • 全文索引的用途
  • 各索引类型的适用场景

索引优化策略(5题)

  • 覆盖索引的概念与优势
  • 组合索引顺序优化原则
  • 索引失效场景分析
  • 索引维护建议

查询优化(2题)

  • 子查询改写为JOIN的优化
  • 常用查询优化技巧汇总

执行计划分析(2题)

  • EXPLAIN type列的含义
  • 执行计划Extra列解读
💡 参考答案在文末
判断题
1

主键索引是特殊的唯一索引,不允许NULL值,而唯一索引允许NULL值。

A

B

2

定期使用ANALYZE TABLE更新表统计信息,可以帮助优化器做出更好的索引选择决策。

A

B

3

索引可以提高查询速度,但会增加写操作(INSERT、UPDATE、DELETE)的开销和占用额外存储空间。

A

B

4

组合索引比多个单列索引更高效,可以减少索引数量,且遵循最左匹配原则。

A

B

单选题
5

以下哪种情况会导致索引失效?

A

WHERE name = '张三'

B

WHERE YEAR(create_time) = 2024(在索引列上使用函数)

C

WHERE name LIKE '张%'

D

WHERE id = 100

6

如何查看表的索引信息?

A

SHOW INDEXES FROM table_name 或 SHOW INDEX FROM table_name

B

GET INDEX table_name

C

LIST INDEX table_name

D

DISPLAY INDEX table_name

7

普通索引(Normal Index)的特点是什么?

A

值必须唯一

B

值可以重复,是最基本的索引类型,无特殊限制

C

只用于主键

D

不允许NULL值

8

唯一索引(Unique Index)的特点是什么?

A

值可以重复

B

值必须唯一,不允许重复值(但允许多个NULL)

C

只用于外键

D

自动生成值

9

MySQL的主键(PRIMARY KEY)会自动创建索引吗?

A

不会自动创建索引

B

会自动创建索引,且是聚簇索引

C

需要手动创建索引

D

只创建普通索引

10

组合索引(复合索引)是什么?

A

只包含一个列的索引

B

包含多个列的索引,多个列组合在一起建立索引

C

多个单列索引的组合

D

主键和外键的组合

11

组合索引(name, age, city),以下哪个查询无法使用该索引?

A

WHERE name = '张三'

B

WHERE name = '张三' AND age = 20

C

WHERE name = '张三' AND age = 20 AND city = '北京'

D

WHERE age = 20 AND city = '北京'

12

为什么建议将子查询改写为JOIN?

A

子查询语法错误

B

子查询可能产生临时表效率较低,JOIN可以利用索引更高效

C

JOIN语法更简单

D

子查询不支持索引

13

MySQL创建索引的基本语法是什么?

A

ADD INDEX idx_name ON table(column)

B

CREATE INDEX idx_name ON table(column)

C

NEW INDEX idx_name ON table(column)

D

INSERT INDEX idx_name ON table(column)

14

EXPLAIN执行计划中type列显示ALL表示什么?

A

使用了索引查询效率最高

B

全表扫描效率最低应优化添加索引

C

使用了范围查询

D

使用了JOIN连接

15

什么是覆盖索引?它的优势是什么?

A

索引覆盖整张表

B

查询所需的所有列都在索引中,无需回表查询数据行

C

索引覆盖所有列

D

索引覆盖所有表

16

数据库索引的主要作用是什么?

A

增加存储空间

B

提高查询速度,快速定位数据

C

减少数据量

D

自动清理数据

多选题
17

MySQL支持哪些索引类型?

A

普通索引(INDEX):最基本的索引,值可重复

B

唯一索引(UNIQUE):值必须唯一,允许NULL

C

主键索引(PRIMARY KEY):值唯一且非空,聚簇索引

D

组合索引:多列组合建立索引

E

全文索引(FULLTEXT):用于文本全文搜索

18

以下哪些是常用的查询优化技巧?

A

使用EXPLAIN分析执行计划

B

避免SELECT *只查询需要的列

C

使用LIMIT限制返回行数

D

小表驱动大表优化JOIN

E

利用索引优化ORDER BY避免filesort

填空题
19

索引类型:____________值可重复,____________值必须唯一,____________值唯一且非空,组合索引多列组合遵循最左匹配原则。

20

索引优化:____________的列建索引效果好,组合索引________________________避免回表,避免函数和类型转换导致索引失效。

21

索引主要作用是____________,创建语法____________,查看索引用____________,主键自动创建聚簇索引。

参考答案
1.正确 2.正确 3.正确 4.正确 5.B 6.A 7.B 8.B 9.B 10.B 11.D 12.B 13.B 14.B 15.B 16.B 17.A;B;C;D;E 18.A;B;C;D;E 19.普通索引;唯一索引;主键索引 20.选择性高;高选择性列放前面;覆盖索引 21.提高查询速度;CREATE INDEX;SHOW INDEX
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 MySQL查询语句专题测试
下一套试卷 → MySQL索引深度与性能调优
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码