数据库系统工程师 · 高频练习

为什么要看 SQL 执行计划来判断索引是否生效?

中级 单选题 第 230 题 中等 数据库系统工程师SQL 优化执行计划索引
题目

某查询语句执行很慢,表上虽然建立了索引,但 DBA 不想只凭感觉判断优化器是否真的使用了该索引,而是希望查看访问路径、扫描方式和连接顺序。较合适的做法是()。

A 查看 SQL 执行计划
B 把所有字段都改成字符串
C 删除数据库日志文件
D 关闭事务一致性
题目类型:原创高频考点题 用途:用于帮助理解数据库系统工程师相关考点和答案解析,不等同于官方真题。
书木兰刷题练习 适合懒人、小白的刷题通关平台
正确答案
A
答案解析

执行计划展示数据库优化器准备怎样执行一条 SQL,包括是否走索引、使用哪个索引、是否全表扫描、连接顺序和访问代价等。索引建了不等于一定会用,函数包裹列、隐式类型转换、选择性太差、统计信息不准,都可能让优化器选择别的路径。

选项分析

A

正确。执行计划可以帮助判断是否走索引、是否全表扫描以及访问路径是否合理。

B

错误。把字段都改成字符串会破坏数据类型设计,还可能带来隐式转换问题。

C

错误。删除日志文件可能造成严重故障,不能作为性能优化手段。

D

错误。关闭事务一致性会破坏数据正确性,不是 SQL 优化方法。

本题为什么容易错

有些同学一看到查询慢就机械选“加索引”。但考试越来越喜欢问诊断思路:已经有索引,为什么还慢?这时要想到执行计划、选择性、统计信息和索引列使用方式。

先看结论

简短答案

为什么要看 SQL 执行计划来判断索引是否生效,正确答案是 A(查看 SQL 执行计划)。执行计划展示数据库优化器准备怎样执行一条 SQL,包括是否走索引、使用哪个索引、是否全表扫描、连接顺序和访问代价等。索引建了不等于一定会用,函数包裹列、隐式类型转换、选择性太差、统计信息不准,都可能让优化器选择别的路径。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
查看 SQL 执行计划 本题正确答案 正确。执行计划可以帮助判断是否走索引、是否全表扫描以及访问路径是否合理。 看到题干核心场景时优先联想到它
把所有字段都改成字符串 本题干扰项 错误。把字段都改成字符串会破坏数据类型设计,还可能带来隐式转换问题。 看到该词不要急着选,先判断是否真正解决题干问题
删除数据库日志文件 本题干扰项 错误。删除日志文件可能造成严重故障,不能作为性能优化手段。 看到该词不要急着选,先判断是否真正解决题干问题
关闭事务一致性 本题干扰项 错误。关闭事务一致性会破坏数据正确性,不是 SQL 优化方法。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 把所有字段都改成字符串:错误。把字段都改成字符串会破坏数据类型设计,还可能带来隐式转换问题。
  • 删除数据库日志文件:错误。删除日志文件可能造成严重故障,不能作为性能优化手段。
  • 关闭事务一致性:错误。关闭事务一致性会破坏数据正确性,不是 SQL 优化方法。
复习

知识点详解

SQL 优化是数据库系统工程师考试中需要结合场景理解的考点。围绕“为什么要看 SQL 执行计划来判断索引是否生效”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“某查询语句执行很慢,表上虽然建立了索引,但 DBA 不想只凭感觉判断优化器是否真的使用了该索引,而是希望查看访问路径、扫描方式和连接顺序。较合适的做法是()”,它指向的核心答案是 A(查看 SQL 执行计划)。

备考速记

备考速记:题干如果强调“索引”中的关键目标,就先联想到 SQL 优化;如果选项里出现 把所有字段都改成字符串、删除数据库日志文件、关闭事务一致性,不要只看名称熟悉,要判断它们是否真正对应题干场景。

SQL 优化 在索引场景中的作用

SQL 优化在本题中的核心价值,是解决“某查询语句执行很慢,表上虽然建立了索引,但 DBA 不想只凭感觉判断优化器是否真的使用了该索引,而是希望查看访问路径、扫描方式和连接顺序。较合适的做法是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出索引场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查SQL 优化的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把SQL 优化和把所有字段都改成字符串、删除数据库日志文件、关闭事务一致性放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
SQL 优化 在数据库系统工程师软考中的考法

软考选择题通常不会只考概念定义,还会把SQL 优化放到索引场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

题干问的是如何确认优化器有没有使用索引,标准动作就是查看执行计划。老师讲这类题会说:慢 SQL 不能只靠直觉,先看它到底怎么跑。执行计划就是把这件事摊开看。

考点定位

SQL 性能题不要停在“建索引”三个字。真正判断索引是否生效,通常要看执行计划和实际访问路径。

易错提醒

  • 认为建了索引就一定比全表扫描快。
  • 忽略 where 条件对索引列做函数运算可能导致索引难以使用。
  • 只看 SQL 文本,不看执行计划里的扫描方式和行数估计。

备考提示

  • 数据库优化题可以按“定位慢 SQL、看执行计划、看索引和统计信息、再改写 SQL”的顺序复习。
  • 遇到“判断索引是否生效”“访问路径”“全表扫描”,优先想到执行计划。

你可能还想了解

  • 为什么要看 SQL 执行计划来判断索引是否生效?
  • SQL 优化是什么?
  • SQL 优化在数据库系统工程师考试中怎么考?
  • 数据库系统工程师SQL 优化题怎么理解?
  • SQL执行计划怎么看索引怎么考?
  • 数据库系统工程师SQL优化怎么考?

本文小结

本题核心考点是SQL 优化在索引场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(查看 SQL 执行计划)。