索引是关系型数据库中的一种非常重要的对象,通过使用索引查找数据、避免全表扫描而提升数据库查询的性能。CockroachDB(简称CRDB)支持较为丰富的索引功能,包括“标准索引(Standard index)”和“倒排索引(Inverted index)”。标准索引与传统关系型数据库的索引相同,在CRDB中包括:“主键索引”、“唯一(UNIQUE)索引”、单字段索引和多字段组合索引等。对于熟悉传统关系型数据库的开发人员和DBA来说能够很好地复用已有知识来使用索引优化SQL查询。本文将向大家介绍CRDB中索引使用的基本知识。
1. 主键索引
在CRDB中,表的主键与传统RDBMS一样,也是创建表时在定义的主键上自动创建一个主键索引。主键索引可以是单字段,也可以是多字段索引。
例如:
CREATE TABLE customers (
id INT PRIMARY KEY,
name VARCHAR(30)
);
在创建表之后,我们可以查看表上创建的索引:
SHOW INDEX FROM customers;