基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
关于索引
更新时间:2023-07-18 17:25:59
在表创建成功后,可以在表的一个或多个列上创建索引以加速表上的 SQL 语句执行速度。
什么是索引
索引是创建在表上的,对数据库表中一列或多列的值进行排序的一种结构。其作用主要在于提高查询的速度,降低数据库系统的性能开销。
索引的优点
加快数据的查询速度。
通过使用索引,可以在查询的过程中,使用优化器提高系统的性能。
索引的使用原则
对经常更新的表要避免对其进行过多的索引,对经常用于查询的字段应该创建索引。
数据量小的表最好不要使用索引,因为由于数据较少,可能查询全部数据花费的时间比遍历索引的时间还要短,索引就可能不会产生优化效果。
当修改性能远远大于检索性能时,不应该创建索引。
索引属性
OceanBase 数据库的表存储模型为索引聚集表模型(IOT),如果用户未指定主键,系统会自动生成一个隐藏主键。
支持在非分区表和分区表上创建索引,索引可以是局部索引或全局索引,也可以是唯一索引或普通索引。
如果是分区表的唯一局部索引,则唯一局部索引必须包含表分区的拆分键。
创建高效索引
索引表与普通数据表一样都是实体表,在数据表进行更新的时候会先更新索引表然后再更新数据表。
索引要全部包含所查询的列:包含的列越全越好,这样可以尽可能的减少回表的行数。
等值条件永远放在最前面。
过滤与排序数据量大的放前面。