MySQL 面试题, 什么是回表?
MySQL 面试题, 什么是回表?
QA
Step 1
Q:: 什么是回表?
A:: 回表是指在数据库查询过程中,使用了二级索引(非聚簇索引)查找到对应的主键后,再使用主键去聚簇索引中查找完整的记录。这样做的目的是为了提高查询效率,尤其是在需要读取大量数据或进行复杂查询时,回表可以减少I/
O操作。
Step 2
Q:: 什么是聚簇索引?
A:: 聚簇索引(Clustered Index)是一种将表中的数据行存储顺序与索引键值顺序一致的索引类型。一个表只能有一个聚簇索引,因为数据行只能按一种顺序存储。聚簇索引通常用于主键,因为它可以提高范围查询的性能。
Step 3
Q:: 什么是非聚簇索引?
A:: 非聚簇索引(Non-
Clustered Index)是一种索引类型,索引的顺序与数据行的存储顺序不一致。非聚簇索引会创建一个单独的索引表,存储索引键值及其对应的数据行地址。使用非聚簇索引可以提高特定查询的速度,特别是那些只涉及少量列的查询。
Step 4
Q:: MySQL中索引的种类有哪些?
A:: MySQL中主要有以下几种索引:
1.
主键索引(Primary Key Index)
2.
唯一索引(Unique Index)
3.
普通索引(Index)
4. 全文索引(Full-
Text Index)
5.
组合索引(Composite Index)
6.
空间索引(Spatial Index)
Step 5
Q:: 创建索引的优缺点是什么?
A:: 优点:
1.
提高数据检索速度,降低查询时间。
2.
加速排序操作,如ORDER BY子句。
3.
加速分组和聚合操作,如GROUP BY和DISTINCT。
缺点:
1.
占用磁盘空间,增加存储成本。
2.
索引需要维护,插入、更新和删除操作时会增加额外的开销。
3.
如果使用不当,可能会导致查询性能下降。
用途
面试这些内容的原因是因为索引在数据库查询优化中起着至关重要的作用。了解和使用索引可以显著提高数据库的查询性能,减少响应时间。在实际生产环境中,当处理大量数据或需要进行复杂查询时,索引的使用能够有效提高系统的整体性能。因此,面试官通常会通过这些问题来评估候选人对数据库优化和性能调优的理解和掌握程度。\n相关问题
🦆
什么是覆盖索引?▷
🦆
什么是索引合并?▷
🦆
什么是B树索引和哈希索引?▷
🦆
如何选择合适的索引?▷
🦆
索引失效的情况有哪些?▷