---
title: "关于索引 | OceanBase 文档中心"
description: 关于索引 在表创建成功后，可以在表的一个或多个列上创建索引以加速表上的 SQL 语句执行速度。 什么是索引 索引是创建在表上的，对数据库表中一列或多列的值进行排序的一种结构。其作用主要在于提高查询的速度，降低数据库系统的性能开销。 索引的优点 加快数据的查询速度。 通过使用索引，可以在查询的过程中，使用优化器提高系统…
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 3.2.3 企业版 LTS

# 关于索引

更新时间：2023-07-18 17:25:59

在表创建成功后，可以在表的一个或多个列上创建索引以加速表上的 SQL 语句执行速度。

## 什么是索引

索引是创建在表上的，对数据库表中一列或多列的值进行排序的一种结构。其作用主要在于提高查询的速度，降低数据库系统的性能开销。

## 索引的优点

- 加快数据的查询速度。
 - 通过使用索引，可以在查询的过程中，使用优化器提高系统的性能。

## 索引的使用原则

- 对经常更新的表要避免对其进行过多的索引，对经常用于查询的字段应该创建索引。
 - 数据量小的表最好不要使用索引，因为由于数据较少，可能查询全部数据花费的时间比遍历索引的时间还要短，索引就可能不会产生优化效果。
 - 当修改性能远远大于检索性能时，不应该创建索引。

## 索引属性

- OceanBase 数据库的表存储模型为索引聚集表模型（IOT），如果用户未指定主键，系统会自动生成一个隐藏主键。
 - 支持在非分区表和分区表上创建索引，索引可以是局部索引或全局索引，也可以是唯一索引或普通索引。
 - 如果是分区表的唯一局部索引，则唯一局部索引必须包含表分区的拆分键。

## 创建高效索引

- 索引表与普通数据表一样都是实体表，在数据表进行更新的时候会先更新索引表然后再更新数据表。
 - 索引要全部包含所查询的列：包含的列越全越好，这样可以尽可能的减少回表的行数。
 - 等值条件永远放在最前面。
 - 过滤与排序数据量大的放前面。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
