当前位置:   article > 正文

TiDB 索引_tidb创建索引

tidb创建索引

唯一索引

  • KEY: TableId_IndexId_IndexColumnValue
  • VALUE: row_id
    • 聚簇表:row_id=主键
    • 非聚簇表: row_id = TidbRowID

二级索引

  • KEY: TableID_IndexID_Index_ColumnsValue_{RowID1}{RowID2}...
  • Value: null

二级索引可能重复,所以KEY可能会附带多个RowID,所以Value可以为空;


索引注意事项:

  • 建表时添加或者ALTER TABLE ADD KEY 添加
  • 目前只一条ALTER无法添加多个索引;
  • 联合索引支持最左匹配原则
  • 联合索引左侧必须是等值才会用到联合索引后面的部分;
  • 索引覆盖不需要回表,从而提升性能;
  • 表达式索引是一种特殊索引,可以将索引建立与表达式上;select @@tidb_allow_function_for_expression-index 查看哪些函数可以用于表达式;

不可见索引:

  • 修改索引的可见性:ALTER TABLE t1 ALTER INDEX c1 INVISIBLE/VISIBLE; 
  • 不可见索引不会被查询优化器使用;
  • 不可见索引仅仅对优化器而言,任然可以被修改和删除;
  • 及时使用SQL Hint USE INDEX强制使用索引,优化器也无法使用不可见索引;
  • 不允许将主键索引设置为不可见

TiDB和MySQL 索引区别:

  • TiDB不支持FULLTEXT,HASH和SPATICAL索引
  • 不支持降序索引
  • 无法添加或者删除CLUSTERED类型的主键
  • 可见/不可见只能单表修改,无法像mysql那样通过use_invisible_indexs开关统一修改;

查看索引的Region分布,来查看索引是否均匀地分布在Region中,从而查看是否有热点;

SHOW TABLE student2 INDEX idx_name REGIONS;

 

        

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/655263
推荐阅读
相关标签
  

闽ICP备14008679号