2017-09-18 16 views
-2

私はm1/smallインスタンス上で動作するAWS RDS上にPostgresデータベースを持っています。それは4000万行のテーブルを持っています。私は次のような質問をします:AWS RDS Postgresクエリパフォーマンスの問題

select * from business where name = 'Pizza House' 

応答を得るには数分かかります。データベースのクエリパフォーマンスを向上させるにはどうすればよいですか?ここで

は、このテーブルを作成するために使用するコマンドを作成することです:

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)" 

思考?

+3

[編集]あなたの質問とは、 '(すべてのインデックスを含む)問題の表と説明'使用して生成された実行計画のtable'文を作成します(分析、詳細な追加してください:これは良いリソースです) '。 [**書式設定されたテキスト**](http://dba.stackexchange.com/help/formatting)、[スクリーンショットなし](http://meta.stackoverflow.com/questions/285551/why-may-i) -not-upload-images-of-code-on-so-ask-a-question/285557#285557)。あなたの質問を編集してください。 ** **コメントやコメントにコードや追加情報を投稿しないでください。 –

+0

@a_horse_with_no_nameこれらの詳細を追加しました。ありがとう。 –

答えて

2

ほとんどの場合、indexname列に配置します。

しかし全体として、インデックスを読み上げるべきです。

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

関連する問題