AWS RDS Postgres查询性能问题

时间:2017-09-18 21:44:41

标签: postgresql amazon-rds query-performance

我在m1/small实例上运行的AWS RDS上有一个Postgres数据库。它有一个4000万行的表。当我查询这样的事情时:

select * from business where name = 'Pizza House'

获得回复需要几分钟时间。我该怎么做才能提高数据库的查询性能?

以下是用于创建此表的create命令:

CREATE TABLE public.business
(
  id integer NOT NULL DEFAULT nextval('business_id_seq'::regclass),
  name character varying,
  city character varying,
  state character varying,
  zip character varying,
  is_claimed integer,
  ...,
  ...,
  CONSTRAINT business_pkey PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE public.business
  OWNER TO administrator;

当我跑步时:

explain select * from business where name = 'Pizza House'

我明白了:

1, "Seq Scan on business  (cost=0.00..1481123.57 rows=22 width=636)"
2, "  Filter: ((name)::text = 'Pizza House'::text)"

思想?

1 个答案:

答案 0 :(得分:2)

您很可能希望在index列上添加name

但总的来说,你应该阅读索引。这是一个很好的资源:

http://use-the-index-luke.com/