【TiDB 4.0 PCTA 学习笔记】- 3.7.4 TiDB Indexes(TiDB 的索引)@1班+李墨白

课程名称:课程版本(101/201/301)+ 课程名称

学习时长:

20min

课程收获:

索引类型和索引需要注意的事项,及系统索引的管理

课程内容:

  • 唯一索引
    • 唯一索引必须是唯一的,可以插入NULL
  • 主键索引
    • 唯一索引 + Not NULL
  • 多列索引
  • 表达式索引
  • 前缀索引

主键索引的物理特性

聚簇索引和非聚簇索引

mysql innodb ,主键索引就是聚簇索引

聚簇索引,RowID + 主键 + 其他列

非聚簇索引,主键 + rowID

大多数场景

  • 聚簇索引比非聚簇索引的性能要好
  • 主键上有热点问题,聚簇索引无法优化使用 row_id的方案,这种情况,非聚簇索引的性能会更好

针对热点问题进行处理,对热点打散

  • alter-primary-false = false
  • 主键必须是 integer 的类型 (其他类型的,均为非聚簇索引)

tidb 5.0 version ,聚簇索引将支持 char,decimal 类型

前缀索引

能指定 Char,Varchar,Binary,Varbinary

Blob,Text 必须指定

tidb 索引管理

  • 索引系统表
    • information_schema.tidb_indexes
    • show index from table_name
  • 索引 Hint
    • use index ([idex1_name] …)
    • ignore index ([idx1_name]…)

学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料