PostgreSQL 9.1.5ʸ�� | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 55章�ǡ����١�����ʪ��Ū�ʳ�Ǽ | 早送り | 次のページ |
����Ǥ�TOAST�ʲ���°����Ǽ��ˡ��The Oversized-Attribute Storage Technique�ˤγ��פˤĤ����������ޤ���
PostgreSQL�ϸ���Ĺ�Υڡ������������̾�8�����Х��ȡˤ���Ѥ���ʣ���ڡ����ˤޤ����륿�ץ������ޤ��� ���Τ��ᡢ�絬�Ϥʥե�������ͤ�ľ�ܳ�Ǽ�Ǥ��ޤ��� �絬�Ϥʥե�������̤ͤ����ꡢʣ����ʪ��Ū�ʹԤ�ʬ�䤷���ꤹ�뤳�Ȥǡ����θ³��Ϥʤ��ʤ�ޤ����� ����ϥ桼�������Ʃ��Ū��ȯ�������ޤ����Хå�����ɤΥ��������ΤˤϾ����ʱƶ�����Ϳ���ޤ���Ǥ����� ���ε�ˡ��TOAST�ʤޤ���"�ѥ�饤�����ư�������Τ��"�ˤȤ������ΤǸƤФ�ޤ��� [�������ȥѥ�饤�����ư�������Τ�Ρ�the best thing since sliced bread�ˡɤ������餷����Τ��̣���ޤ���]
�����Υǡ������Τߤ�TOAST�ݡ��Ȥ��ޤ���
�絬�Ϥʥե�������ͤ��������뤳�Ȥ��ʤ��ǡ������˥����С��إåɤ���碌��ɬ�פϤ���ޤ���
TOAST�ݡ��Ȥ��뤿��ˤϡ��ǡ������ϲ���Ĺ��varlena��ɽ��������ʤ���Фʤ�ޤ���
��Ǽ�����ͤκǽ��32�ӥåȥ�ɤˤϥХ���ñ�̤��ͤΡʤ��Υ�ɼ��Τ�ޤ��Ĺ�����ޤޤ�ޤ���
TOAST�ϻĤ��ɽ���ˤĤ������¤��ޤ���
TOAST��ǽ�ʥǡ������ݡ��Ȥ���C����ؿ��Ϥ��٤ơ�TOAST�����줿�����ͤ����դ��ư���ʤ���Фʤ�ޤ���
���̾盧��ϡ����Ϥ��Ф��Ʋ�����Ȥ�����PG_DETOAST_DATUM
��ƤӽФ����ȤǹԤ��ޤ�������äȸ�ΨŪ����ˡ����ǽ�ʾ��⤢��ޤ��ˡ�
TOAST��varlena��Ĺ����ɤ�2�ӥå�(�ӥå�����ǥ�����Υޥ���ǤϾ�̥ӥåȡ���ȥ륨��ǥ�����Υޥ���Ǥϲ��̥ӥå�)��˻��Ѥ��ޤ��� ���Τ��ᡢ���٤Ƥ�TOAST��ǽ�ʥǡ��������ͤ�������������1�����Х��ȡ�230 - 1�Х��ȡˤޤǤˤʤ�ޤ��� ξ�ӥåȤ�0�ξ�硢�ͤϤ��Υǡ����������̤�TOAST������Ƥ��ʤ��ͤȤʤꡢĹ����ɤλĤ�ΥӥåȤϥǡ����Ρ�Ĺ����ɤ�ޤ�����������ʥХ���ñ�̡ˤȤʤ�ޤ��� ���¦�ޤ��ϲ���¦�Τɤ��餫�����ΥӥåȤ����ꤵ�줿��硢�ͤ��̾��4�Х��ȤΥإå��������1�Х��ȤΥإå�������ޤ��� �ޤ���Ĺ����ɤλĤ�ӥåȤϥǡ����Ρ�Ĺ����ɤ�ޤ�����������ʥХ���ñ�̡ˤȤʤ�ޤ��� �ü�ʾ����Ȥ��ơ�Ĺ����ɤλĤ�ӥåȤ����٤�0�ʼ��Ȥ�Ĺ����ޤߤޤ��ΤǤ��ꤨ�ޤ���ˤξ�硢�����ͤ��̤�TOAST�ơ��֥����¸�����Գ��ǡ����ؤΥݥ��Ǥ��� ��TOAST�ݥ��Υ������ϥǡ�������2�Х������Ϳ�����ޤ����� ñ��Х��ȥإå�������ͤ�����ζ���������ޤ��� �Ǹ�˾��¦�ޤ��ϲ���¦�ΥӥåȤ�0���٤ΥӥåȤ����ꤵ��Ƥ����硢�ǡ��������Ƥϰ��̤��졢�������˿�Ĺ���ʤ���Фʤ�ޤ��� ���ξ�硢Ĺ����ɤλĤ�ӥåȤϸ��ǡ����Υ������ǤϤʤ����̤����ǡ��������������ˤʤ�ޤ��� ���̤��Գ��ǡ����Ǥⵯ���ꤨ�ޤ�����varlena�إå��ˤϰ��̤���Ƥ��뤫�ɤ����ˤĤ��Ƥξ��ʤ����Ȥ����դ��Ƥ��������� ��������TOAST�ݥ������Ƥˤ��ξ��ޤޤ�Ƥ��ޤ���
�ơ��֥��Ǥ�դ���TOAST��ǽ�ʾ�硢���Υơ��֥��Ϣ�Ȥ���TOAST�ơ��֥������ޤ��� TOAST�ơ��֥��OID�ϥơ��֥��pg_class.reltoastrelid���ܤ˳�Ǽ����ޤ��� �ܺ٤ϸ���������ޤ������Գ���TOAST�����줿�ͤ�TOAST�ơ��֥�����ݻ�����ޤ���
���Ѥ���밵�̵��Ѥϡ�LZ�Ϥΰ��̵��Ѥ�1�Ĥ�ñ�㤫�����˹�®�ʤ�ΤǤ��� �ܺ٤�src/backend/utils/adt/pg_lzcompress.c�Ȥ��Ƥ���������
�Գ����ͤϡʰ��̤������ϰ��̸�ˡ˺���TOAST_MAX_CHUNK_SIZE�Х��Ȥβ���ʬ�䤵��ޤ� �ʥǥե���ȤǤϤ����ͤ�4����Ԥ�1�ڡ����˼��ޤꡢ���褽2000�Х��Ȥˤʤ�褦�����Ф�ޤ��ˡ� �Ʋ��ϡ��ǡ�������ĥơ��֥��Ϣ�Ȥ���TOAST�ơ��֥���˸��̤ιԤȤ��Ƴ�Ǽ����ޤ��� ���٤Ƥ�TOAST�ơ��֥��chunk_id��������TOAST�����줿�ͤ��̤���OID�ˡ�chunk_seq����ͤβ����Ф���Ϣ�֡ˡ�chunk_data�ʲ��μºݤΥǡ������������ޤ��� chunk_id��chunk_seq���Ф�����������ǥå������ͤ���Ф��®�����ޤ��� �������äơ��Գ���TOAST�����줿�ͤ��ݥ��ǡ����ˤϡ�������Ȥʤ�TOAST�ơ��֥��OID�Ȼ��ꤷ���ͤ�OID(chunk_id)���Ǽ���ʤ���Фʤ�ޤ��� �������Τ���ˡ��ݥ��ǡ����ˤ������ǡ����������ʸ������̤Υǡ���Ĺ�ˤȼºݤγ�Ǽ�������ʰ��̻��ˤϰۤʤ�ޤ��ˤ��Ǽ����ޤ��� varlena�إå��Х��Ȥ˼�Ǽ���뤿���TOAST�ݥ��ǡ��������������ϡ�ɽ��������ͤμ¥������˴ط��ʤ���18�Х��Ȥˤʤ�ޤ���
TOAST�Υ����ɤϡ��ơ��֥���˳�Ǽ������ͤ�TOAST_TUPLE_THRESHOLD���̾�2�����Х��ȡˤ�Ķ������ˤΤ¹Ԥ���ޤ��� TOAST�����ɤϡ��Ԥ��ͤ���꾮�����ʤ뤫����ʾ�ν̾����Ǥ��ʤ��ʤ�ޤǡ��ե�������ͤΰ��̤�Գ��ؤΰ�ư��Ԥ��ޤ��� ��������桢�ѹ�����ʤ��ͤ��̾綠�ΤޤĤ�ޤ��� �Գ����ͤ���ĹԤι����Ǥϡ��Գ����ͤ��ѹ����ʤ����TOAST���륳���ȤϤ�����ޤ���
TOAST�����ɤǤϡ��ʲ���TOAST��ǽ������Ǽ���뤿���4�Ĥΰۤʤ���ά��ǧ��ޤ���
PLAIN�ϰ��̤�Գ��γ�Ǽ���ɻߤ��ޤ��� �����varlena���Ǥ�ñ��Х��ȥإå��λ��Ѥ�̵���ˤ��ޤ��� �����TOAST���Բ�ǽ�Υǡ�����������Ф��ƤΤ��������ά�Ǥ���
EXTENDED�Ǥϡ����̤ȹԳ��γ�Ǽ������ޤ��� ����ϤۤȤ�ɤ�TOAST��ǽ�Υǡ������Υǥե���ȤǤ��� ���̤��ޤ��Ԥ�졢����Ǥ�Ԥ��礭���ΤǤ���йԳ��˳�Ǽ���ޤ���
EXTERNAL���̤ιԳ���Ǽ������ޤ��� EXTERNAL����Ѥ���ȡ�text��bytea�����Τ��Ф�����ʬʸ��������®������ޤ��� �������������̤ιԳ����ͤ���ɬ�פ���ʬ����Ф����˺�Ŭ������뤿��Ǥ� �ʳ�Ǽ�ΰ褬���ä���Ȥ�������������ޤ��ˡ�
MAIN�ϰ��̤�����ޤ������Գ��γ�Ǽ�ϤǤ��ޤ��� �ʼºݤˤϤ���������ˤĤ��Ƥ�Գ��γ�Ǽ�ϹԤ��ޤ��� ��������¾�˹Ԥ�̾������ڡ����˹�碌����ˡ���ʤ����κǸ�μ��ʤȤ��ƤΤߤǤ��ˡ�
TOAST��ǽ�ʥǡ������Ϥ��줾�졢���Υǡ����������ѤΥǥե���Ȥ���ά����ꤷ�ޤ��� ������ALTER TABLE SET STORAGE����Ѥ��ơ�����ơ��֥������ά���ѹ����뤳�Ȥ��Ǥ��ޤ���
���ε����ˤϡ��ڡ�����ޤ�����Ԥ��ͤ���Ĥ���Ȥ��ä���ľ�ʼ�ˡ����٤�¿��������������ޤ��� �̾��䤤��碌�����Ū�����ʥ����ͤ��Ф�����ӤǾ���դ�������ΤȲ��ꤹ��ȡ����������塼���λŻ��ΤۤȤ�ɤϼ���ä��Ԥι��ܤ���Ѥ��ƹԤ��뤳�Ȥˤʤ�ޤ��� TOAST��°�����絬�Ϥ��ͤϡ��ʤ��줬����Ƥ�����˷�̽���饤����Ȥ��᤹���˰����Ф��������Ǥ��� ���Τ��ᡢ��ơ��֥�ϹԳ��γ�Ǽ����Ѥ��ʤ�������٤ơ����ʤ꾮�����ʤꡢ���ιԤ϶�ͭ�Хåե�����å���ˤ��礦�褦�ˤʤ�ޤ��� �����Ƚ����ޤ��������ʤꡢ�����Ȥ������˥�����ǹԤ������٤��⤯�ʤ�ޤ��� �����Ϥʻ��̤Ǥ�����ŵ��Ū��HTML�ڡ����Ȥ���URL����ĥơ��֥�Ǥϡ�TOAST�ơ��֥��ޤᡢ�����Υǡ����������Τ��褽Ⱦʬ�dz�Ǽ�Ǥ�������ˡ���ơ��֥�ˤ����ΤΥǡ����Τ��褽10%�Τߡ�URL�Ȱ����ξ�����HTML�ڡ����ˤ���Ǽ����ޤ����� TOAST������ʤ��褦�ˤ��٤Ƥ�HTML�ڡ�����7�����Х������٤��ڤ�ͤ�Ƥ�TOAST���İ��̲����ʤ��ơ��֥����١��¹Ի��˰㤤�Ϥ���ޤ���Ǥ�����