数据库系统工程师 · 索引 · 事务

数据库索引和事务怎么复习?

索引和事务是数据库题里很稳定的两条线:索引回答“怎么查得快”,事务回答“并发和故障下怎么保证数据正确”。两条线不要混着背。

数据库专题 软考题库编辑部 持续更新

索引题:先判断它解决什么查询问题

B+树索引适合范围查询和排序访问,联合索引要注意列顺序,覆盖索引可以减少回表,索引列上使用函数可能导致索引失效。看似都是索引题,其实问法不同。

题目如果说“查询条件符合索引列顺序”,多半在考最左前缀;如果说“只需要从索引里拿到查询列”,多半在考覆盖索引;如果说“对索引列做函数处理”,就要警惕索引失效。

题干信号对应考点答题提醒
B+树索引结构适合范围查询和有序扫描
联合索引列顺序最左前缀从最左列开始匹配更容易用上索引
不回表覆盖索引查询列被索引覆盖
函数包住索引列索引失效风险可能无法直接利用索引有序性

事务题:ACID 不是四个孤立名词

原子性强调一组操作要么都做,要么都不做;一致性强调事务前后数据满足约束;隔离性强调并发事务之间互不干扰到不该看到的程度;持久性强调提交后的结果不会因为故障轻易丢失。

考试常把回滚、提交、日志、并发读写、脏读、不可重复读这些词放在题干里。不要只看 ACID 四个字母,要看题干描述的是失败恢复还是并发隔离。

索引和事务放在一起复习的好处

数据库系统工程师考试很少只考纯概念。真实题干可能会说系统查询慢、并发写入多、刚写完读不到、回滚后数据恢复等。你要判断这是索引设计问题、读写分离一致性问题,还是事务隔离问题。

复习时建议给自己建两个抽屉:性能问题先看索引和执行路径;正确性问题先看事务、约束和隔离。分类清楚,干扰项就少很多。

相关题目解析

下面这些题目和本专题的判断方法关联较强,适合读完概念后回到具体题干里校验理解。