当前位置:首页 > 问答 > 正文

数据库优化|高效检索 数据库索引面试指南,面试数据库索引核心知识解析

数据库索引核心知识解析

  1. 索引类型

    • B-Tree索引:平衡树结构,适合范围查询(如MySQL的InnoDB)。
    • 哈希索引:精确匹配快(如Memcached),不支持排序。
    • 全文索引:文本搜索(如ES的倒排索引)。
    • 复合索引:多列组合,遵循最左前缀原则。
  2. 索引优化原则

    数据库优化|高效检索 数据库索引面试指南,面试数据库索引核心知识解析

    • 选择性高的列:区分度高的字段(如ID)更适合建索引。
    • 避免冗余索引:联合索引覆盖单列索引。
    • 索引失效场景
      • 使用LIKE '%xx'、函数操作(如YEAR(date))。
      • 类型隐式转换(如字符串列用数字查询)。
  3. 高效检索策略

    • 覆盖索引:查询列全部在索引中,避免回表。
    • 索引下推:MySQL 5.6+特性,在存储引擎层过滤数据。
    • 分页优化:用WHERE id > offset替代LIMIT offset, size
  4. 面试高频问题

    数据库优化|高效检索 数据库索引面试指南,面试数据库索引核心知识解析

    • 聚簇索引 vs 非聚簇索引
      • 聚簇索引(如InnoDB主键)数据与索引存储在一起。
      • 非聚簇索引(如MyISAM)数据与索引分离。
    • Explain关键字段
      • type(访问类型,ref优于all)、ExtraUsing index表示覆盖索引)。
  5. 数据库设计优化

    • 冷热数据分离:频繁访问数据单独存储。
    • 分区表:按时间/范围拆分大表(如日志表)。

基于2025年主流数据库技术(MySQL 8.0+、PostgreSQL 14+等)的常见实践。

数据库优化|高效检索 数据库索引面试指南,面试数据库索引核心知识解析

发表评论