¾�ΥС�������ʸ�� �� 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 �Ǥ���

����

�䤤��碌�ײ�

PostgreSQL �ץ��ʤˤ������Ū���䤤��碌�ײ�Ǥ���

Note: PostgreSQL �� 7.3 ������ΥС������Ǥϡ��䤤��碌�ײ�� NOTICE ��å������Ȥ������������Τ���Ƥ��ޤ����� ���ߤǤϡ��䤤��碌�ײ���䤤��碌��� (ñ��Υƥ������󤫤�����ơ��֥�η�����) �Ȥ���ɽ������ޤ���

����

���Υ��ޥ�ɤ� PostgreSQL �ץ��ʤ� PostgreSQL �󶡤��䤤��碌�Ѥ���������¹Էײ��ɽ�����ޤ��� ���μ¹Էײ�ϡ������䤤��碌�ˤ�äƻ��Ȥ����ơ��֥� (ʣ���ξ��⤢��) ��������󤵤����ˡ (ñ��ʥ������󥹡�����ǥå���������󡢤ʤ�) �򼨤����ꡢʣ���Υơ��֥뤬���Ȥ������ˤϤ��줾�����ϥơ��֥��ɬ�פʥ��ץ���Ȥ߹�魯����˻��Ѥ�����祢�르�ꥺ��򼨤����ꤷ�ޤ���

���β��̤ǺǤ���פʤΤϡ��䤤��碌�μ¹Ԥˤ����륳���Ȥθ��Ѥ��Ǥ��������ȤȤϡ��ץ��ʤ����ꤹ�롢�䤤��碌�μ¹Ԥˤ�������� (�ǥ������ڡ�����Ф�ñ�̤Ƿ�¬) �Ǥ��� �ºݤˤ� 2 �Ĥο���ɽ������ޤ����ǽ�Υ��ץ뤬�֤�������Υ������ȥ��å׻��֡����������ƤΥ��ץ뤬�֤����ޤǤι�פλ��֤Ǥ��� �ۤȤ�ɤ��䤤��碌�ˤȤä�����Ȥʤ�ΤϹ�׻��֤Ǥ�����EXISTS ���䤤��碌�ʤɤΤΥ���ƥ����ȤǤϡ��ץ��ʤϺǤ�û����׻��֤ǤϤʤ��Ǥ�û���������ȥ��å׻��֤����Ӥޤ� (�¹ԥץ������ϥ��ץ�� 1 �ļ������������ߤ��뤫��Ǥ�)�����ˡ��⤷ LIMIT ����֤����ץ�������¤����硢�ץ��ʤϤɤηײ褬�����㥳���Ȥˤʤ뤫�򳵻����뤿������ν�λ�ޤǤˤǤդ��路���񤭴�����Ԥʤ��ޤ���

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

Caution

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

BEGIN;
EXPLAIN ANALYZE ...;
ROLLBACK;
      

VERBOSE ���ץ����Ϥ�������������ǤϤʤ��������ʷײ�ĥ꡼������ɽ������Ϥ��ޤ����̾盧�Υ��ץ����� PostgreSQL �ΥǥХå��ˤΤ���Ω���ޤ��� VERBOSE �Υ���פν��Ϥθ��ɤ����ɤ������ϡ�EXPLAIN_PRETTY_PRINT �ι����ѥ�᡼��������ˤ��ޤ���

����

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

������ˡ

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

EXPLAIN SELECT * FROM foo;
                           QUERY PLAN
---------------------------------------------------------
 Seq Scan on foo  (cost=0.00..155.00 rows=10000 width=4)
(1 row )
    
   

����ǥå����������硢����ǥå����դ�����ǽ�� WHERE ��������䤤��碌����Ѥ���ȡ�EXPLAIN �ϰۤʤ�ײ��ɽ�����ޤ���

EXPLAIN SELECT * FROM foo WHERE i = 4;
                             QUERY PLAN
--------------------------------------------------------------
 Index Scan using fi on foo  (cost=0.00..5.98 rows=1 width=4)
   Index Cond: (i = 4)
(2 rows)
    
   

����ؿ�����Ѥ����䤤��碌�ײ����򼨤��ޤ���

EXPLAIN SELECT sum(i) FROM foo WHERE i < 10;
                                 QUERY PLAN
---------------------------------------------------------------------
 Aggregate  (cost=23.93..23.93 rows=1 width=4)
   ->  Index Scan using fi on foo  (cost=0.00..23.92 rows=6 width=4)
         Index Cond: (i < 10)
(3 rows)
    
   

�嵭�ζ���Ū�ʿ�������ӻ��Ѥ����䤤��碌��ά�ϡ��ץ��ʤ����ɤ��줿���Ȥˤ�ä� PostgreSQL �Υ�꡼���֤ǰۤʤ뤳�Ȥ�����Τ����դ��Ƥ���������

�ߴ���

SQL92

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