PostgreSQL Index性能调优
Index(索引)这个概念对于很多熟悉关系型数据库的人来说,不是一个陌生的概念。当表中数据越来越多时,在查询时,为了避免全表查询(sequence scan)可以在查询相关的条件字段上添加索引。举例来说明index对于查询效率的影响。首先创建测试表 "sort_test",如下时表创建SQL,可以发现此表有2个字段id和salary。其中id是主键,我们知道属于主键的字段是默认添加了索引的。 CREATE TABLE public.sort_test( id bigint NOT NULL, salary numeric NOT NULL, CONSTRAINT sort_test_pkey PRIMARY KEY (id)) TABLESPACE pg_default; ALTER TABLE public.sort_test OWNER to postgres; 以以下SQL查询语句为例进行讲解,其中查询字段salary上没有创建索引。 select * from public."sort_test" where salary = 101; 那么此时的执行计划和执行时间是多少呢,可以参考下图,执行计划是走Parallel Seq Scan,SQL运行时间是 246.71 ms. 那么如果要在salary字段上添加索引呢?创建索引的语句如下: CREATE INDEX index