���Υ��ޥ�ɤ�PostgreSQL�ץ��ʤ����줿�䤤��碌ʸ�Ѥ���������¹Էײ��ɽ�����ޤ��� ���μ¹Էײ�ϡ�����ʸ�ˤ�äƻ��Ȥ����ơ��֥�(ʣ���ξ��⤢��)������������ˡ(ñ��ʥ��������������ǥå���������ʤ�)�����ꡢʣ���Υơ��֥뤬���Ȥ������ˤϤ��줾������ϥơ��֥��ɬ�פʹԤ��Ȥ߹�魯����˻��Ѥ�����祢�르�ꥺ������ꤷ�ޤ���
����ɽ���ǺǤ���פʤΤϡ�ʸ�μ¹Ԥˤ����륳���Ȥθ��Ѥ��Ǥ��� �����ȤȤϡ��ץ��ʤ����ꤹ�롢ʸ�μ¹Ԥˤ��������(�ǥ������ڡ�����Ф�ñ�̤Ƿ�¬)�Ǥ��� �ºݤˤ�2�Ĥο���ɽ������ޤ��� �ǽ�ιԤ��֤�������Υ������ȥ��å��֡����������ƤιԤ��֤����ޤǤι�פλ��֤Ǥ��� �ۤȤ�ɤ��䤤��碌�ˤȤä�����Ȥʤ�ΤϹ���֤Ǥ�����EXISTS���䤤��碌�ʤɤΥ���ƥ����ȤǤϡ��ץ��ʤϺǤ�û������֤ǤϤʤ��Ǥ�û���������ȥ��å��֤����Ӥޤ�(���������塼���ϹԤ�1�ļ������������ߤ��뤫��Ǥ�)�� ���ˡ��⤷LIMIT����֤��Կ������¤����硢�ץ��ʤϤɤηײ褬�����㥳���Ȥˤʤ뤫�����뤿������ν����ޤǤδ֤�Ŭ�ڤ���֤�Ԥʤ��ޤ���
ANALYZE���ץ����ˤ�ꡢʸ�Ϸײ�����ǤϤʤ��ºݤ˼¹Ԥ���ޤ��� �Ʒײ�Ρ��ɤˤ���䤵�줿���в����(�ߥ���ñ��)�ȼºݤ��֤����Կ���ɽ�����ɲä���ޤ��� �ץ��ʤο�¬�ȼºݤ��ͤ��ɤ�����ᤤ�����ǧ�Ǥ���Ȥ������Ǥ��Υ��ץ�����ͭ�Ѥʤ�ΤǤ���
������: ANALYZE����Ѥ������ϡ�ʸ���ºݤ˼¹Ԥ���뤳�Ȥ�˺��ʤ��Ǥ��������� EXPLAIN��SELECT���֤��Ϥ��ν��Ϥ�����ɽ�����ޤ���ʸ�������Ѥ��̾��̤�ȯ�����ޤ��� INSERT��UPDATE��DELETE��EXECUTEʸ���Ф���EXPLAIN ANALYZE��ǡ����˱ƶ����Фʤ��褦�˻��Ѥ��������ϡ��ʲ�����ˡ����Ѥ��Ƥ���������
BEGIN; EXPLAIN ANALYZE ...; ROLLBACK;
���ޥ�ɤ�¹Ԥ����ºݤβ�Ư���֤�ɽ�����ޤ���
��������ǤϤʤ��ײ�ĥ������ɽ��������ɽ�����ޤ��� �̾���Υ��ץ������ü�ʤΥǥХå���Ū�Τ��������ͭ�ѤǤ��� VERBOSE�ν��Ϥϡ�explain_pretty_print����ѥ��������꼡��ǰ�����Ŭ�������ˤ��뤳�Ȥ�Ǥ��ޤ���
�¹Էײ��ɽ���оݤȤʤ롢Ǥ�դ�SELECT��INSERT��UPDATE��DELETE��EXECUTE���⤷����DECLAREʸ�Ǥ���
PostgreSQL�Υ��ץƥ��ޥ����ˤ����륳���Ⱦ���λ��Ѥ˴ؤ���ʸ���¿������ޤ��� ���˾ܤ�������ˤĤ��Ƥϡ���13.1�Ȥ��Ƥ���������
PostgreSQL�䤤��碌�ץ��ʤ��䤤��碌�κ�Ŭ���κݤ˽�ʬ�˾������ä����꤬�Ǥ���褦�ˤ��뤿��ˡ�ANALYZEʸ��¹Ԥ��ơ��ơ��֥���Υǡ�����ʬ�ۤˤĤ��Ƥ��������Ͽ�����ʤ���Фʤ�ޤ��� �����Ԥ�ʤ����(�����뤤�ϡ�����ANALYZE��¹Ԥ����塢�ơ��֥���Υǡ���������Ūʬ�ۤ��������Ѥ�ä���)�����ꥳ���Ȥ��䤤��碌�μºݤ�°���Ȥ�Ŭ�礹�뤳�ȤϤʤ������η�̡����ä��䤤��碌�ײ褬����뤳�Ȥˤʤ�ޤ���
PostgreSQL 7.3������ΥС������Ǥϡ��䤤��碌�ײ��NOTICE��å������Ȥ������������Τ���Ƥ��ޤ����� ���ߤǤϡ��䤤��碌�ײ���䤤��碌���(ñ��Υƥ�����������ơ��֥�η�����)�Ȥ���ɽ������ޤ���
��Ĥ�integer���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)
�ʲ���EXPLAIN EXECUTE����Ѥ��ƽ������줿�䤤��碌���Ф���¹Էײ��ɽ��������Ǥ���
PREPARE query(int, int) AS SELECT sum(bar) FROM test WHERE id > $1 AND id < $2 GROUP BY foo; EXPLAIN ANALYZE EXECUTE query(100, 200); QUERY PLAN ------------------------------------------------------------------------------------------------------------------------- HashAggregate (cost=39.53..39.53 rows=1 width=8) (actual time=0.66..0.67 rows=7 loops=1) -> Index Scan using test_pkey on test (cost=0.00..32.97 rows=1311 width=8) (actual time=0.05..0.39 rows=99 loops=1) Index Cond: ((id > $1) AND (id < $2)) Total runtime: 0.85 msec (4 rows)
����������Ǽ���������Ū�ʿ��ͤ��оݤȤ���ơ��֥�μºݤ���Ȥˤ�ä��Ѥ��ޤ��� �ޤ������ο��ͤ����줿�䤤��碌��ά�ϡ��ץ��ʤβ��ɤΤ����PostgreSQL�Υ����֤ǰۤʤ뤳�Ȥ⤢��ޤ��Τ����դ��Ƥ��������� ���ˡ�ANALYZE���ޥ�ɤϡ��ǡ��������������ꤹ��ݤ˥�����ʥ���ץ��Ԥ��ޤ��Τǡ��ºݤΥơ��֥����ʬ�ۤ��Ѥ�äƤ��ʤ��Ƥ⡢������ANALYZE��¹Ԥ�����˿��ꥳ���Ȥ��Ѥ�뤳�Ȥ�����ޤ���