¾�ΥС�������ʸ�� �� 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

EXPLAIN

Name

EXPLAIN  --  �䤤��碌ʸ�μ¹Էײ��ɽ��

Synopsis

EXPLAIN [ ANALYZE ] [ VERBOSE ] query        

����

ANALYZE

�䤤��碌��¹Ԥ����ºݤμ¹Ի��֤�ɽ������ե饰�Ǥ���

VERBOSE

�䤤��碌�ײ�ξܺ�ɽ���ѤΥե饰�Ǥ���

query

Ǥ�դ� query �Ǥ���

����

NOTICE: QUERY PLAN: plan

PostgreSQL �Хå�����ɤ��������Ū���䤤��碌�ײ�Ǥ���

EXPLAIN

�䤤��碌�ײ��ɽ���θ��������ե饰�Ǥ���

����

���Υ��ޥ�ɤ� PostgreSQL �ץ��ʤ�Ϳ����줿�䤤��碌���Ф��ƺ�������¹Էײ��ɽ�����ޤ����¹Էײ�ϥơ��֥뤬��ñ��ʽ祹����󡢥���ǥå���������󡢤ʤɤˤ�äƤɤΤ褦���䤤��碌�˻��Ȥ���뤫�������Ƥ⤷ʣ���Υơ��֥뤬���Ȥ�����硢�ɤη�祢�르�ꥺ�ब���줾������ϥơ��֥뤫���ɬ�פȤ���륿�ץ���礹�뤿��˻Ȥ��뤫��ɽ�����ޤ���

ɽ������ǺǤ���פ���ʬ�ϳ������줿�䤤��碌�¹ԥ����Ȥǡ�����ϥץ��ʤ��䤤��碌��¹Ԥ���Τˤɤ줯�餤���֤������뤫(�ǥ������ڡ������Ф���ñ�̤Ȥ��Ʒ׻�����ޤ�)����̤�����ΤǤ����ºݤ���Ĥο�����ɽ������ޤ����ǽ�Υ��ץ뤬�֤�������λϤ����֡����������ƤΥ��ץ뤬�֤����ޤǤι�פλ��֤Ǥ����ۤȤ�ɤ��䤤��碌�ˤȤäƽ��פʤΤϹ�׻��֤Ǥ�����EXISTS ���䤤��碌�ʤɤΤ褦�ʥ���ƥ����ȤǤϥץ��ʤϺǾ��ι�׻��֤�����˺Ǿ��γ��ϻ��֤����Ӥޤ�(�ʤ��ʤ饨�������塼���Ϥɤä��ߤ� 1 �ĤΥ��ץ���������ߤ��뤫��Ǥ�)�����ˡ��⤷ LIMIT ����֤����ץ�������¤����硢�ץ��ʤϤɤηײ褬�����㥳���Ȥˤʤ뤫�򳵻����뤿������ν�λ�ޤǤˤǤդ��路���񤭴�����Ԥʤ��ޤ���

ANALYZE ���ץ����ϡ��ײ褵��������ǤϤʤ����ºݤˤ����䤤��碌��¹Ԥ����ޤ����Ʒײ�Ρ��ɤˤ���䤵�줿���в����(�ߥ���ñ��)�ȼºݤ��֤����Կ���ɽ�����ɲä���ޤ����ץ��ʤο�¬�ȼºݤ��ͤ��ɤ�����ᤤ�����ǧ�Ǥ���Ȥ������Ǥ��Υ��ץ�����ͭ�Ѥʤ�ΤǤ���

VERBOSE ���ץ����Ϥ�������������ǤϤʤ��������ʷײ�ĥ꡼������ɽ������Ϥ��ޤ�(������ postmaster �����ե�����ˤ�����ޤ�)���̾盧�Υ��ץ����� PostgreSQL �ΥǥХå��ˤΤ���Ω���ޤ���

Caution

ANALYZE ����Ѥ������ϡ��䤤��碌���ºݤ˼¹Ԥ���뤳�Ȥ�˺��ʤ��Dz������� EXPLAIN �� SELECT ���֤��Ϥ��ν��Ϥ�����ɽ�����ޤ��󤬡��䤤��碌�������Ѥ��̾��̤�ȯ�����ޤ���INSERT��UPDATE��DELETE �䤤��碌���Ф��� EXPLAIN ANALYZE ��ǡ����˱ƶ����Фʤ��褦�˻��Ѥ��������ϡ��ʲ�����ˡ����Ѥ��Ʋ�������

BEGIN;
EXPLAIN ANALYZE ...;
ROLLBACK;

����

PostgreSQL �Υ��ץƥ��ޥ����ˤ����륳���Ⱦ���λ��Ѥ˴ؤ���ɥ�����Ȥ�¿������ޤ��󡣤���˾ܤ�������ϡ��ץ�����ޥ����� �򻲾Ȥ��Ƥ���������

������ˡ

�����ϡ���Ĥ� int4 ��� 128 �Ԥ���ĥơ��֥���ñ����䤤��碌���䤤��碌�ײ��ɽ�����ޤ���

EXPLAIN SELECT * FROM foo;
    NOTICE:  QUERY PLAN:

Seq Scan on foo  (cost=0.00..2.28 rows=128 width=4)

EXPLAIN
    

�䤤��碌�ˤ����� equijoin ���򥵥ݡ��Ȥ��륤��ǥå����򡢾��Ʊ���ơ��֥����Ϳ������硢 EXPLAIN �ϰۤʤ�ײ��ɽ�����ޤ���

EXPLAIN SELECT * FROM foo WHERE i = 4;
    NOTICE:  QUERY PLAN:

Index Scan using fi on foo  (cost=0.00..0.42 rows=1 width=4)

EXPLAIN
    

�����ƺǸ�ˡ��䤤��碌�ˤ�����equijoin ���򥵥ݡ��Ȥ��륤��ǥå��������Ʊ���ơ��֥�ǡ�����ؿ�����Ѥ����䤤��碌��Ԥ���硢EXPLAIN �ϲ�����ɽ�����ޤ���

EXPLAIN SELECT sum(i) FROM foo WHERE i = 4;
    NOTICE:  QUERY PLAN:

Aggregate  (cost=0.42..0.42 rows=1 width=4)
  ->  Index Scan using fi on foo  (cost=0.00..0.42 rows=1 width=4)
    

�����ɽ���������������������򤵤줿�䤤��碌��ά�����⡢�ץ��ʤβ��ɤˤ�ä� PostgreSQL �Υ�꡼���֤ǰۤʤ뤳�Ȥ����դ��Ƥ���������

SQL92

SQL92 �Ǥ� EXPLAIN ���������Ƥ��ޤ���