PostgreSQL 9.0.4ʸ�� | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 18章�����Ф����� | 早送り | 次のページ |
����������ѥ����ϡ��䤤��碌���ץƥ��ޥ����������䤤��碌�ײ�˱ƶ������绨�Ĥʼ�ˡ�����ޤ��� �⤷�⡢�����䤤��碌���Ф��ƥ��ץƥ��ޥ����������ǥե���ȷײ褬��Ŭ�Ǥʤ���硢����Ū�������ϡ�����������ѥ�����1�Ĥ���Ѥ������ץƥ��ޥ����˰ۤʤ�ײ������褦�˻Ÿ����뤳�ȤǤ��� �ʼ�����ɤ��������ϰʲ���ޤߤޤ��� �ץ��ʥ����������Ĵ���項18.6.2�ȡˡ� default_statistics_target����ѥ������ͤ���Ȥ��礭���� ������ALTER TABLE SET STATISTICS����Ѥ��ơ����������Ф��Ƽ������줿����������䤷�ޤ���
�䤤��碌�ץ��ʤ��ӥåȥޥå����ײ跿�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ��ϥå�����ײ跿�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ��ϥå�����ײ跿�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ�����ǥå��������ײ跿�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤζ��β��λ��Ѥ�ͭ�����ޤ���̵���ˤ��ޤ��� ���Τˤ錄�äƶ��β����ߤ�뤳�ȤϤǤ��ޤ��������ͤ�off�ˤ��뤳�Ȥˤ�ꡢ���������ᤵ����������ơ����β��Ρ��ɤ�ץ��ʤ��������뤳�Ȥ��ɻߤ��ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ��ޡ������ײ跿�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ�����Ҥˤʤä��롼���ײ�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ��� ����ҥ롼�������˶ػߤ��뤳�Ȥ��Բ�ǽ�Ǥ����������ѿ��դˤ���ȡ��⤷¾����ˡ�����ѤǤ���ΤǤ���С��ץ��ʤϤ��λ��Ѥ�Ԥ�ʤ��褦�ˤʤ�ޤ��� �ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ���������������ײ�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ��� ������������������˶ػߤ��뤳�Ȥ��Բ�ǽ�Ǥ����������ѿ��դˤ���ȡ��⤷¾����ˡ�����ѤǤ���ΤǤ���С��ץ��ʤϤ��λ��Ѥ�Ԥ�ʤ��褦�ˤʤ�ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ�����Ū�¤��ؤ��������뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ��� ����Ū�¤��ؤ������˶ػߤ��뤳�Ȥ��Բ�ǽ�Ǥ����������ѿ��դˤ���ȡ��⤷¾����ˡ�����ѤǤ���ΤǤ���С��ץ��ʤϤ��λ��Ѥ�Ԥ�ʤ��褦�ˤʤ�ޤ����ǥե���Ȥ�on�Ǥ���
�䤤��碌�ץ��ʤ�TID�����ײ跿�����뤳�Ȥ�ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�on�Ǥ���
����ǰ����������ѿ��ϡ�Ǥ�դμ��٤�¬���ޤ��� ����������Ū���ͤǤ�������ޤ��� ���Τ��ᡢƱ�����ҤǼ��٤��Ѥ��Ƥ⡢�ץ��ʤ�����Ϸ�̤Ȥ����Ѥ��ޤ��� �ǥե���ȤǤϤ����Υ������ѿ��ϥ��������ʥڡ��������ߤ˴�Ť��Ƥ��ޤ��� �Ĥޤꡢseq_page_cost��Ū��1.0�Ȥ���¾�Υ������ѿ���ͤˤ������ꤵ��Ƥ��ޤ����� ������˾��ʤ顢����Υޥ���ˤ�����ߥ���ñ�̤μ¹Ի��֤ʤɡ��ۤʤ���٤���Ѥ��뤳�Ȥ��Ǥ��ޤ���
注意: ��ǰ�ʤ��顢�������ѿ����Ф�������Ū���ͤ���ꤹ�롢��꤯������줿��ˡ������ޤ��� ����Υ��ȥ졼�����������䤤��碌���Τߤ�������Τ�ʿ�Ѥ�����Τ�ΤȤ��ư����Ƥ��ޤ��� ����μ¸��Τߤ�ˤ����ͤ��ѹ����뤳�Ȥϴ����Ǥ���Ȥ����ޤ���
���������ʰ�Ϣ�μ��Ф��ΰ����Ȥʤ롢�ǥ������ڡ������Ф��˴ؤ��롢�ץ��ʤο��ꥳ���Ȥ����ꤷ�ޤ��� �ǥե���Ȥ�1.0�Ǥ��� �����ͤ�Ʊ��̾���Υơ��֥���֥ѥ��������ꤹ�뤳�Ȥǡ�����Υơ��֥���֤��Ф������ޤ���ALTER TABLESPACE�Ȥ��Ƥ��������ˡ�
�������Ū�˼��Ф����ǥ������ڡ����Υ����Ȥ��Ф���ץ��ʤο�¬�����ꤷ�ޤ��� �ǥե���Ȥ�4�Ǥ��� �����ͤ�Ʊ��̾���Υơ��֥���֥ѥ��������ꤹ�뤳�Ȥǡ�����Υơ��֥���֤��Ф������ޤ���ALTER TABLESPACE�Ȥ��Ƥ��������ˡ�
�����ͤ�seq_page_cost������Ū�˸���������ȡ������ƥ�ϥ���ǥå�����������ǻ��Ѥ���褦�ˤʤ�ޤ��� ���ä�����ȡ�����ǥå��������������Ū�˹���ˤʤ�ޤ��� ξ�����ͤ����������뤳�Ȥǡ�CPU�����Ȥ��Ф���ǥ�����I/O�ν��������ѹ������뤳�Ȥ��Ǥ��ޤ��� ����ˤĤ��Ƥϡ���ҤΥѥ������������ޤ���
ティップ: �����ƥ��random_page_cost��seq_page_cost���⾮�����ͤ����ꤷ�褦�Ȥ��ޤ���������ˤ�ʪ��Ū�ʰ�̣�Ϥ���ޤ��� ���������ǡ����١�����������RAM�˥���å��夵����硢Ʊ���ͤ����ꤹ�뤳�Ȥϰ�̣������ޤ��� ���ξ�硢����̤�ǤϤʤ��ڡ��������������Ф���ڥʥ�ƥ���¸�ߤ��ʤ�����Ǥ��� �ޤ���¿��������å��夵���ǡ����١����Ǥϡ�CPU�ѥ������Ф���ξ�ͤ������ꤹ�٤��Ǥ��� RAM���¸�ߤ���ڡ����μ��Ф������Ȥ��̾���⤫�ʤ꾮�����ʤ뤿��Ǥ���
�䤤��碌�֤ˤ��줾��ιԤν������Ф���ץ��ʤο�¬�����ꤷ�ޤ����ǥե���Ȥ�0.01�Ǥ���
����ǥå��������֤ˤ��줾��Υ���ǥå����Ԥν������Ф���ץ��ʤο�¬�����ꤷ�ޤ��� �ǥե���Ȥ�0.005�Ǥ���
�䤤��碌���˼¹Ԥ����Ʊ黻�Ҥ�ؿ��ν��������Ȥ��Ф���ץ��ʤο�¬�����ꤷ�ޤ����ǥե���Ȥ�0.0025�Ǥ���
ñ����䤤��碌�����ѤǤ���ǥ���������å���μ¸����̤˴ؤ���ץ��ʤξ������ꤷ�ޤ��� ����ϡ�����ǥå�������Ѥ��륳���ȿ����ͤ����ǤȤʤ�ޤ��� ���⤤�ͤˤ���С���ꥤ��ǥå�����������Ѥ����褦�ˤʤꡢ��꾮�������ꤹ��С���������륹��������Ѥ����褦�ˤʤ�ޤ��� ���Υѥ��������ꤹ����ˤϡ�PostgreSQL�ζ�ͭ�Хåե���PostgreSQL�ǡ����ե�����˻��Ѥ���륫���ͥ�Υǥ���������å�����̤�ξ�����θ���ʤ���Фʤ�ޤ��� �ޤ������Ѳ�ǽ���ΰ��ͭ���ޤ��Τǡ��ۤʤ�ơ��֥���Ф���Ʊ���˼¹Ԥ�����䤤��碌����������θ���Ƥ��������� ���Υѥ����ϡ�PostgreSQL�dz�����Ƥ��붦ͭ������礭���ˤϱƶ���Ϳ���ޤ��ޤ��������ͥ�Υǥ���������å����ͽ����⤷�ޤ��� ����Ͽ�����Ū�Τߤǻ��Ѥ���ޤ��� �ǥե���Ȥ�128�ᥬ�Х��ȡ�128MB�ˤǤ���
����Ū�䤤��碌���ץƥ��ޥ�����GEQO�ˤϥҥ塼�ꥹ�ƥ��å���ȯ��Ū�˸���ˡ���Ѥ����䤤��碌�ײ��Ԥʤ��黻��ˡ�Ǥ��� �̾�Τ���ߤĤ֤��θ����黻��ˡ�Ǹ����������ײ������Ȥ������ä��ײ���������Ȥ��������ʧ���ޤ��������μ�ˡ�ϡ�¿���Υ�졼�������礹��褦�ʡ�ʣ�����䤤��碌���Ф��ײ���֤�ڸ����ޤ��� Ʊ���ˡ�GEQO�θ�����̵��ٲ����ޤ��Τǡ��ײ�η���������ư���ޤ��� ���ܺ٤�第50章�Ȥ��Ƥ���������
����Ū�䤤��碌��Ŭ����ͭ���⤷����̵���ˤ��ޤ����ǥե���Ȥ�ͭ���Ǥ��� ���ѻ��ˤ�̵���ˤ��ʤ����Ȥ��̾�����Ǥ���geqo_threshold�ѿ��ϡ�GEQO�����椹�뤿���꤭��٤�����ˡ�����ޤ���
���ʤ��Ȥ⤳������ο���FROM���ܿ����䤤��碌��ײ褹��Τ˰���Ū�䤤��碌��Ŭ������Ѥ��ޤ��� ��FULL OUTER JOIN�������Ҥϡ�1�Ĥ�FROM���ܤȤ��Ʒ����뤳�Ȥ����դ��Ƥ����������˥ǥե���Ȥ�12�Ǥ�����ä�ñ����䤤��碌�Ǥϡ�������Ū������ߤĤ֤��θ����ץ��ʤ���Ѥ���Τ������Ǥ�����¿���Υơ��֥������䤤��碌�Ǥϡ�������Ū�ץ��ʤ����˻��֤�������ޤ������Ф��л����ηײ��¹Ԥ���������Ĺ���ʤ�ޤ���
GEQO�ˤ�����ײ���֤��䤤��碌�ײ���ʼ��֤Υȥ졼�ɥ��դ����椷�ޤ��������ѿ���1����10�ޤǤ��ϰϤ������Ǥʤ���Фʤ�ޤ��� �ǥե���Ȥ��ͤ�5�Ǥ����ͤ��礭������ȡ��䤤��碌�ײ�����ˤ��¿���λ��֤����Ȥˤʤ�ޤ���������ΨŪ���䤤��碌�ײ褬������ǽ�������ä��ޤ���
�º�geqo_effort��ľ�ܲ���Ԥ��ޤ������GEQO��ư��˱ƶ���Ϳ����¾���ѿ����Ф����ǥե���Ȥ��ͤ�����뤿��ˤΤ��Ѥ���ޤ��ʰʲ����������ޤ��ˡ��⤷�褱��С�����˼��Ȥ�¾�Υѥ���������Ǥ��ޤ���
GEQO�ǻ��Ѥ����ס������̤�������ޤ�������ϰ���Ū���η���θ��ο��Ǥ�������Ǥ�2�ĤϤʤ���Фʤ餺���褯100����1000�ޤǤ��ͤ����Ѥ���ޤ����⤷�ʥǥե���Ȥ�����Ǥ�����������ꤵ���ȡ�geqo_effort������䤤��碌����Υơ��֥���˴�Ť��ơ�Ŭ�ڤ��ͤ�����ޤ���
GEQO�ǻ��Ѥ��������ο���������ޤ�������ϥ��르�ꥺ���ȿ�����Ǥ�������Ǥ�1�Ϥʤ���Фʤ餺���褯�ס��륵������Ʊ���ϰϤ��ͤ����Ѥ���ޤ��������0������ʥǥե���Ȥ�����ˤ���ȡ�Ŭ�ڤ��ͤ�geqo_effort�˴�Ť�������ޤ���
GEQO�ǻ��Ѥ�����������Ф��������ޤ����������Ф�ϸ��η���Ρʰ���Ū�ʡ˼��������Ǥ����ͤ�1.50����2.00�ǡ�2.00���ǥե���ȤǤ���
������������֤ˤ錄�äơ�GEQO��̵��٤Υѥ������뤿��˻��Ѥ�������ȯ����ν���ͤ�����Ѥޤ��� �ͤ�0�ʥǥե���ȡˤ���1�ޤǤ��ϰϤǤ��� �ͤ���ư�������õ���������ѥ��ν�����Ѳ����������줬���Ĥ��äƤ������ɤ�������갭�������Υѥ��Ȥʤ��ǽ��������ޤ���
ALTER TABLE SET STATISTICS�����������Ū���åȤ�̵���ơ��֥�����Ф����ǥե���Ȥ������оݤ����ꤷ�ޤ��� ����礭���ͤ�ANALYZE��ɬ�פʤλ��֤����ä����ޤ������ץ��ʤ�ͽ¬���ʼ�����夵���ޤ��� �ǥե���Ȥ�100�Ǥ��� PostgreSQL���䤤��碌�ץ��ʤˤ��������λ���ˡ�˴ؤ�����ܺ٤ʾ���ϡ�項14.2�Ȥ��Ƥ���������
�䤤��碌���Ŭ�����뤿�ᡢ�ơ��֥�������Ф��Ƥ��䤤��碌�ץ��ʤλ��Ѥ����椷�ޤ���constraint_exclusion�˵��Ƥ�����ͤϡ�on�����ƤΥơ��֥���Ф����������ˡ�off�ʷ褷����������ʤ��ˡ������partition�ʷѾ����줿�ҥơ��֥뤪���UNION ALL���䤤��碌�Τ����������ˤǤ���partition���ǥե���ȤǤ��� �Ѿ��ơ��֥��ʬ�䤵�줿�ơ��֥����ǽ����Τ��ᤷ�Ф��л��Ѥ���ޤ���
���Υѥ���������Υơ��֥���Ф��Ƶ����������ץ��ʤϤ��Υơ��֥��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.4�Ȥ���������
��������륫������Ԥγ��Υץ��ʤθ��Ѥ������ꤷ�ޤ��� �ǥե���Ȥ�0.1�Ǥ��� ����������꾮��������ȡ��ץ��ʤϥ���������Ф�"��ư���®�ˤ���"�ײ����Ѥ���褦�ˤʤ꤬���ˤʤ�ޤ��� ���ξ����Ƭ�ο��Ԥμ��Ф��Ϲ�®�ˤʤ�ޤ����������Τ���Ф����˻��֤�������褦�ˤʤ��ǽ��������ޤ��� �����ͤ����礭������ȡ�����������Τ���궯Ĵ�����褦�ˤʤ�ޤ��� ���������Ǥ���1.0�ξ�硢����������̾���䤤��碌�Ȥޤä���Ʊ�ͤ˷ײ褵��ޤ��� �Ĥޤꡢ����������ΤΤߤ���θ���졢��Ƭ�ιԤμ��Ф��ˤ�������֤Ϲ�θ����ʤ��ʤ�ޤ���
�ץ��ʤϡ�FROM�ꥹ�Ȥ����ο��ι��ܤ�꾯�ʤ���̤ξ�硢���䤤��碌���̤��䤤��碌��ʻ�礷�ޤ��� ��꾮�����ͤϷײ���֤�̾������ޤ��������ä��䤤��碌�ײ��⤿�餹��ǽ��������ޤ��� �ǥե���Ȥ�8�Ǥ��� �ܺ٤�項14.3�Ȥ��Ƥ���������
�����ͤ�geqo_threshold��������ʾ�����ꤹ���GEQO�ץ��ʻ��Ѥ�Ͷ���Ȥʤꡢ�����Ū�ײ��⤿�餷�ޤ���項18.6.3�Ȥ��Ƥ���������
�ǽ�Ū�˥ꥹ�Ȥ����ι��ܿ��ʲ��ˤʤ�����ץ��ʤϡ�����Ū��JOIN��ʸ��FULL JOIN������ˤ�FROM���ܤΥꥹ�Ȥ�ľ���ޤ��� �����ͤ�������зײ�������֤ϸ������ޤ��������ä��䤤��碌�ײ褬����������ǽ��������ޤ���
�ǥե���ȤǤϡ������ͤ�from_collapse_limit��Ʊ���ͤ����ꤵ��Ƥ��ꡢ�ؤɤξ���Ŭ�ڤǤ��� �����1�����ꤹ�������Ū��JOIN�κƽ���դ��ϹԤ��ʤ��ʤ�ޤ��� �������äơ��䤤��碌�ǻ��ꤵ�줿����Ū������ϡ��ط��ʥ�졼�����ˤ���礵���ºݤν���Ȥʤ�ޤ��� �䤤��碌�ץ��ʤϾ�˺�Ŭ�ʷ����������Ȥϸ¤�ʤ��Τǡ� ���桼���ʤ����Ū�ˤ����ѿ���1�����ꤷ������Ū�˴�˾�Ȥ�����������ꤷ�Ƥ�褤�Ǥ��礦�� �ܺ٤�項14.3�Ȥ��Ƥ���������
�����ͤ�geqo_threshold��������ʾ�����ꤹ���GEQO�ץ��ʻ��Ѥ�Ͷ���Ȥʤꡢ�����Ū�ײ��⤿�餷�ޤ���項18.6.3�Ȥ��Ƥ���������