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

18.6. �䤤��碌�ײ�

18.6.1. �ץ������˹���

����������ѥ�᡼���ϡ��䤤��碌���ץƥ��ޥ��������򤹤��䤤��碌�ײ�˱ƶ������绨�Ĥʼ�ˡ���󶡤��ޤ��� �⤷�⡢�����䤤��碌���Ф��ƥ��ץƥ��ޥ��������򤷤��ǥե���ȷײ褬��Ŭ�Ǥʤ���硢����Ū�ʲ����ϡ�����������ѥ�᡼����1�Ĥ���Ѥ������ץƥ��ޥ����˰ۤʤ�ײ�����򤹤�褦�˻Ÿ����뤳�ȤǤ��� �Ȥϸ��äƤ⡢�ʵפˤ����������̵���ˤ��뤳�ȤϤ��ޤ괫����ޤ��� �ʼ�����ɤ��������ϡ����Τ褦�ˤ��ƥ��ץƥ��ޥ��������򤹤�ײ���ʼ�����夹�뤳�ȤǤ��� �ץ��ʥ����������Ĵ�ᤷ��ANALYZE�������ˤ˼¹Ԥ���default_statistics_target����ѥ�᡼�����ͤ��礭������������ALTER TABLE SET STATISTICS����Ѥ��ơ����������Ф��Ƽ������줿���׾�������䤷�ޤ���

enable_bitmapscan��boolean��

�䤤��碌�ץ��ʤ��ӥåȥޥå����ײ跿�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���

enable_hashagg��boolean��

�䤤��碌�ץ��ʤ��ϥå��夵�줿����ײ跿�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���

enable_hashjoin��boolean��

�䤤��碌�ץ��ʤ��ϥå�����ײ跿�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���

enable_indexscan��boolean��

�䤤��碌�ץ��ʤ�����ǥå��������ײ跿�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���

enable_mergejoin��boolean��

�䤤��碌�ץ��ʤ��ޡ������ײ跿�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���

enable_nestloop��boolean

�䤤��碌�ץ��ʤ�����Ҥˤʤä��롼�׷��ײ�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ�������ҥ롼�׷������˶ػߤ��뤳�Ȥ��Բ�ǽ�Ǥ����������ѿ��򥪥դˤ���ȡ��⤷¾����ˡ�����ѤǤ���ΤǤ���С��ץ��ʤϤ��λ��Ѥ�Ԥ�ʤ��褦�ˤʤ�ޤ����ǥե���Ȥ�on�Ǥ���

enable_seqscan��boolean��

�䤤��碌�ץ��ʤ��������󥷥�뺺�ײ�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����������󥷥�����������˶ػߤ��뤳�Ȥ��Բ�ǽ�Ǥ����������ѿ��򥪥դˤ���ȡ��⤷¾����ˡ�����ѤǤ���ΤǤ���С��ץ��ʤϤ��λ��Ѥ�Ԥ�ʤ��褦�ˤʤ�ޤ����ǥե���Ȥ�on�Ǥ���

enable_sort��boolean��

�䤤��碌�ץ��ʤ�����Ū�¤��ؤ��������򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ�������Ū�¤��ؤ������˶ػߤ��뤳�Ȥ��Բ�ǽ�Ǥ����������ѿ��򥪥դˤ���ȡ��⤷¾����ˡ�����ѤǤ���ΤǤ���С��ץ��ʤϤ��λ��Ѥ�Ԥ�ʤ��褦�ˤʤ�ޤ����ǥե���Ȥ�on�Ǥ���

enable_tidscan��boolean��

�䤤��碌�ץ��ʤ�TID�����ײ跿�����򤹤뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���

18.6.2. �ץ��ʥ��������

����ǰ����������ѿ��ϡ�Ǥ�դμ��٤�¬���ޤ��� ����������Ū���ͤǤ�������ޤ��� ���Τ��ᡢƱ�����ҤǼ��٤��Ѥ��Ƥ⡢�ץ��ʤ�����Ϸ�̤Ȥ����Ѥ��ޤ��� ����Ū�ˡ��������ѿ��ϥ�����ñ�̤Ȥ��ƥ������󥷥��ʥڡ��������ߤ򻲾Ȥ��Ƥ��ޤ����� �Ĥޤꡢseq_page_cost�򴷽�Ū��1.0�Ȥ���¾�Υ������ѿ��򤽤�򻲹ͤˤ������ꤵ��Ƥ��ޤ����� ������˾��ʤ顢����Υޥ���ˤ�����ߥ���ñ�̤μ¹Ի��֤ʤɡ��ۤʤ���٤���Ѥ��뤳�Ȥ��Ǥ��ޤ���

注意: ��ǰ�ʤ��顢�������ѿ����Ф�������Ū���ͤ���ꤹ�롢��꤯������줿��ˡ������ޤ��� ����Υ��󥹥ȥ졼����󤬹Ԥ��������䤤��碌���Τ򺮺ߤ�������Τ�ʿ�Ѥ�����Τ�ΤȤ��ư����Ƥ��ޤ��� ����μ¸��Τߤ򺬵�ˤ����ͤ��ѹ����뤳�Ȥϴ����Ǥ���Ȥ����ޤ���

seq_page_cost (floating point)

�������󥷥��ʰ�Ϣ�μ��Ф��ΰ����Ȥʤ롢�ǥ������ڡ������Ф��˴ؤ��롢�ץ��ʤο��ꥳ���Ȥ����ꤷ�ޤ��� �ǥե���Ȥ�1.0�Ǥ���

random_page_cost��floating point��

�󥷡����󥷥��˼��Ф����ǥ������ڡ����Υ����Ȥ��Ф���ץ��ʤο�¬�����ꤷ�ޤ��� �ǥե���Ȥ�4�Ǥ��� �����ͤ�seq_page_cost������Ū�˸���������ȡ������ƥ�ϥ���ǥå����������򹥤�ǻ��Ѥ���褦�ˤʤ�ޤ��� ���ä�����ȡ�����ǥå��������������Ū�˹���ˤʤ�ޤ��� ξ�����ͤ����������뤳�Ȥǡ�CPU�����Ȥ��Ф���ǥ�����I/O�ν��������ѹ������뤳�Ȥ��Ǥ��ޤ��� ����ˤĤ��Ƥϡ���ҤΥѥ�᡼�����������ޤ���

ティップ: �����ƥ��random_page_cost��seq_page_cost���⾮�����ͤ����ꤷ�褦�Ȥ��ޤ���������ˤ�ʪ��Ū�ʰ�̣�Ϥ���ޤ��� ���������ǡ����١�����������RAM�˥���å��夵����硢Ʊ���ͤ����ꤹ�뤳�Ȥϰ�̣������ޤ��� ���ξ�硢����̤�ǤϤʤ��ڡ��������������Ф���ڥʥ�ƥ���¸�ߤ��ʤ�����Ǥ��� �ޤ���¿��������å��夵���ǡ����١����Ǥϡ�CPU�ѥ�᡼�����Ф���ξ�ͤ򾮤������ꤹ�٤��Ǥ��� RAM���¸�ߤ���ڡ����μ��Ф������Ȥ��̾���⤫�ʤ꾮�����ʤ뤿��Ǥ���

cpu_tuple_cost��floating point��

�䤤��碌�֤ˤ��줾��ιԤν������Ф���ץ��ʤο�¬�����ꤷ�ޤ����ǥե���Ȥ�0.01�Ǥ���

cpu_index_tuple_cost��floating point��

����ǥå��������֤ˤ��줾��Υ���ǥå����Ԥν������Ф���ץ��ʤο�¬�����ꤷ�ޤ��� �ǥե���Ȥ�0.005�Ǥ���

cpu_operator_cost��floating point��

�䤤��碌���˼¹Ԥ����Ʊ黻�Ҥ�ؿ��ν��������Ȥ��Ф���ץ��ʤο�¬�����ꤷ�ޤ����ǥե���Ȥ�0.0025�Ǥ���

effective_cache_size (integer)

ñ����䤤��碌�����ѤǤ���ǥ���������å���μ¸����̤˴ؤ���ץ��ʤβ�������ꤷ�ޤ��� ����ϡ�����ǥå�������Ѥ��륳���ȿ����ͤ����ǤȤʤ�ޤ��� ���⤤�ͤˤ���С���ꥤ��ǥå���������󤬻��Ѥ����褦�ˤʤꡢ��꾮�������ꤹ��С��������󥷥�륹����󤬤����Ѥ����褦�ˤʤ�ޤ��� ���Υѥ�᡼�������ꤹ����ˤϡ�PostgreSQL�ζ�ͭ�Хåե���PostgreSQL�ǡ����ե�����˻��Ѥ���륫���ͥ�Υǥ���������å�����̤�ξ�����θ���ʤ���Фʤ�ޤ��� �ޤ������Ѳ�ǽ���ΰ��ͭ���ޤ��Τǡ��ۤʤ�ơ��֥���Ф���Ʊ���˼¹Ԥ�����䤤��碌����������θ���Ƥ��������� ���Υѥ�᡼���ϡ�PostgreSQL�dz�����Ƥ��붦ͭ������礭���ˤϱƶ���Ϳ���ޤ��󡣤ޤ��������ͥ�Υǥ���������å����ͽ�󤷤���⤷�ޤ��� ����Ͽ�����Ū�Τߤǻ��Ѥ���ޤ��� �ǥե���Ȥ�128�ᥬ�Х��ȡ�128MB�ˤǤ���

18.6.3. ����Ū�䤤��碌���ץƥ��ޥ���

geqo��boolean��

����ߤĤ֤��θ�����Ԥ�ʤ����䤤��碌�ײ���ߤ륢�르�ꥺ��Ǥ��롢����Ū�䤤��碌��Ŭ����ͭ���⤷��̵���ˤ��ޤ����ǥե���Ȥϥ���Ǥ���geqo_threshold�ѿ��ϡ������䤤��碌�Υ��饹���Ф���GEQO��̵���ˤ����꤭��٤�����ˡ���󶡤��ޤ���

geqo_threshold��integer��

���ʤ��Ȥ⤳������ο���FROM���ܿ����䤤��碌��ײ褹��Τ˰���Ū�䤤��碌��Ŭ������Ѥ��ޤ��� ��FULL OUTER JOIN�������Ҥϡ�1�Ĥ�FROM���ܤȤ��Ʒ׻����뤳�Ȥ����դ��Ƥ����������˥ǥե���Ȥ�12�Ǥ�����ä�ñ����䤤��碌�Ǥϡ�������Ū������ߤĤ֤��θ����ץ��ʤ���Ѥ���Τ������Ǥ�����¿���Υơ��֥������䤤��碌�Ǥϡ�������Ū�ץ��ʤ����˻��֤�������ޤ���

geqo_effort ��integer��

GEQO�ˤ�����ײ���֤��䤤��碌�ײ�θ�Ψ���δ֤Υȥ졼�ɥ��դ����椷�ޤ��������ѿ���1����10�ޤǤ��ϰϤ������Ǥʤ���Фʤ�ޤ��󡣥ǥե���Ȥ��ͤ�5�Ǥ����ͤ��礭������ȡ��䤤��碌�ײ�����ˤ��¿���λ��֤��񤹤��Ȥˤʤ�ޤ���������ΨŪ���䤤��碌�ײ褬���򤵤���ǽ�������ä��ޤ���

�º�geqo_effort��ľ�ܲ���Ԥ��ޤ��󡣤����GEQO�ο����񤤤˱ƶ���Ϳ����¾���ѿ����Ф����ǥե���Ȥ��ͤ�׻����뤿��ˤΤ߻��Ѥ���ޤ��ʰʲ����������ޤ��ˡ���˾�ߤǤ���С�����˼��Ȥ�¾�Υѥ�᡼��������Ǥ��ޤ���

geqo_pool_size��integer��

GEQO�ǻ��Ѥ����ס������̤�������ޤ����ס������̤Ȥϰ���Ū���η���θ��ο��Ǥ�������Ǥ�2�ĤϤʤ���Фʤ餺���褯100����1000�ޤǤ��ͤ����Ѥ���ޤ����⤷�ʥǥե���Ȥ�����Ǥ�����������ꤵ���ȡ�geqo_effort������䤤��碌����Υơ��֥���˴�Ť��ơ�Ŭ�ڤʥǥե���Ȥ����򤵤�ޤ���

geqo_generations��integer��

GEQO�ǻ��Ѥ��������ο���������ޤ�������ϥ��르�ꥺ���ȿ��������ꤷ�ޤ�������Ǥ�1�Ϥʤ���Фʤ餺���褯�ס��륵������Ʊ���ϰϤ��ͤ����Ѥ���ޤ��������0������ʥǥե���Ȥ�����ˤ���ȡ�Ŭ�ڤʥǥե�����ͤ�geqo_effort�˴�Ť������򤵤�ޤ���

geqo_selection_bias��floating point��

GEQO�ǻ��Ѥ�����������Ф��������ޤ����������Ф�ϸ��η���Ρʰ���Ū�ʡ˼��������Ǥ����ͤ�1.50����2.00�ǡ�2.00���ǥե���ȤǤ���

18.6.4. ����¾�Υץ��ʥ��ץ����

default_statistics_target��integer��

ALTER TABLE SET STATISTICS�����������Ū���åȤ��ͭ���Ƥ��ʤ��ä��ơ��֥�����Ф����ǥե���Ȥ������оݤ����ꤷ�ޤ��� ����礭���ͤ�ANALYZE��ɬ�פʤλ��֤����ä����ޤ������ץ��ʤ�ͽ¬���ʼ�����夵���ޤ��� �ǥե���Ȥ�10�Ǥ��� PostgreSQL���䤤��碌�ץ��ʤˤ�����׾���λ���ˡ�˴ؤ�����ܺ٤ʾ���ϡ�項14.2�򻲾Ȥ��Ƥ���������

constraint_exclusion (boolean)

�䤤��碌���Ŭ�����뤿��Υơ��֥����¤��䤤��碌�ץ��ʤλ��Ѥ�ͭ���⤷����̵���ˤ��ޤ��� �ǥե���Ȥ�off�Ǥ���

���Υѥ�᡼����on�λ��ϡ��ץ��ʤϥơ��֥�CHECK������䤤��碌������Ӥ��������̷�⤹����������ơ��֥�������ޤ��� �㤨�аʲ��Τ褦�ˤʤ�ޤ���

CREATE TABLE parent(key integer, ...);
CREATE TABLE child1000(check (key between 1000 and 1999)) INHERITS(parent);
CREATE TABLE child2000(check (key between 2000 and 2999)) INHERITS(parent);
...
SELECT * FROM parent WHERE key = 2400;

�����ӽ���ͭ���Ǥ���ȡ�����SELECT������child1000���������ޤ��󡣤��Τ��ȤϷѾ���ʬ�䤵�줿�ơ��֥�κ����˻��Ѥ���������ǽ����夵���ޤ���

��������constraint_exclusion�Υǥե���Ȥ�̵���Ǥ��� ���󸡺������Ū����ǡ�¿���ξ��˵ߺѤ�⤿�餵�ʤ�����Ǥ��� ���ε�ǽ��Ĺ������Ѥ����߷פ��줿ʬ�䤵�줿�ơ��֥��ºݤ˻��Ѥ��Ƥ������Τߡ������ͭ���ˤ��뤳�Ȥ����ᤷ�ޤ���

����ˤ���������ӥѡ��ƥ�����˥󥰤˴ؤ���ܺ٤�項5.9�򻲾Ȥ��Ƥ���������

from_collapse_limit (����)

�ץ��ʤϡ�FROM�ꥹ�Ȥ����ο��ι��ܤ�꾯�ʤ���̤ξ�硢���䤤��碌���̤��䤤��碌��ʻ�礷�ޤ��� ��꾮�����ͤϷײ���֤�̾������ޤ��������ä��䤤��碌�ײ��⤿�餹��ǽ��������ޤ��� �ǥե���Ȥ�8�Ǥ��� �̾盧���geqo_threshold�ʲ��ˤ��Ƥ������ɤ��Ǥ��礦�� �ܺ٤�項14.3�򻲾Ȥ��Ƥ���������

join_collapse_limit (����)

�ǽ�Ū�˥ꥹ�Ȥ����ι��ܿ��ʲ��ˤʤ�����ץ��ʤϡ�����Ū��JOIN��ʸ��FULL JOIN������ˤ�FROM���ܤΥꥹ�Ȥ�ľ���ޤ��� �����ͤ򾮤�������зײ�������֤ϸ������ޤ��������ä��䤤��碌�ײ褬����������ǽ��������ޤ���

�ǥե���ȤǤϡ������ͤ�from_collapse_limit��Ʊ���ͤ����ꤵ��Ƥ��ꡢ�ؤɤξ���Ŭ�ڤǤ��� �����1�����ꤹ�������Ū��JOIN�κƽ���դ��ϹԤ��ʤ��ʤ�ޤ��� �������äơ��䤤��碌�ǻ��ꤵ�줿����Ū������ϡ��ط��ʥ�졼�����ˤ���礵���ºݤν���Ȥʤ�ޤ��� �䤤��碌�ץ��ʤϾ�˺�Ŭ�ʷ���������򤹤�Ȥϸ¤�ޤ��� ���桼���ʤ����Ū�ˤ����ѿ���1�����ꤷ������Ū�˴�˾�Ȥ�����������ꤷ�Ƥ�褤�Ǥ��礦�� �ܺ٤�項14.3�򻲾Ȥ��Ƥ���������