PostgreSQL 9.3.2ʸ�� | ||||
---|---|---|---|---|
前のページ | 上に戻る | 第 56章SP-GiST����ǥå��� | 次のページ |
������Ǥϡ�SP-GiST�α黻�ҥ��饹���������ͤˤȤä��ΤäƤ�������Ω�ġ������ˤĤ��Ƥξܺ٤Ȥ���¾������ˤĤ����������ޤ���
���줾��Υ�ե��ץ뤪����������ץ��1�ĤΥ���ǥå����ڡ�����(�ǥե���Ȥ�8KB)�˼��ޤ�ʤ���Фʤ�ޤ��� ���äơ�����Ĺ�Υǡ��������ͤ�ǥå����դ�����Ȥ��ϡ�Ĺ���ͤϴ���ڤΤ褦�ʥ�åɤˤ�äƤΤߥ��ݡ��Ȥ���ޤ����Ĥޤꡢ�ĥ�Τ��줾��Υ�٥�Ǥϥڡ����˼��ޤ�û������Ƭ����ޤߡ��Ǹ�Υ�ե�٥�Ǥϡ���Ϥ�ڡ����˼��ޤ�û������������ޤࡢ�Ȥ����褦�ʤ�ΤǤ��� ���Τ褦�ʤ��Ȥ�ȯ����������б��ν������Ǥ��Ƥ�����Τߡ��黻�ҥ��饹��longValuesOK��TRUE�˥��åȤ���٤��Ǥ��� �����Ǥʤ���С�SP-GiST�Υ����ϡ�����ǥå����ڡ����˼����ˤ��礭�������ͤˤĤ��ƤΥ���ǥå����դ������䤷�ޤ���
Ʊ�ͤˡ��������ץ뤬�礭���ʤꤹ���ƥ���ǥå����ڡ����˼��ޤ�ʤ����Ȥ������Ȥˤʤ�ʤ��褦�ˤ���Τϡ��黻�ҥ��饹����Ǥ�Ǥ��� ����ˤ�ꡢ1�Ĥ��������ץ�ǻȤ����Ȥ��Ǥ���ҥΡ��ɤο����������Ƭ�����ͤκ��祵���������¤���ޤ���
�������ץ�ΥΡ��ɤ���ե��ץ�ν����ؤ��Ƥ���Ȥ��������Υ��ץ�Ϥ��٤�Ʊ������ǥå����ڡ�����ˤʤ���Фʤ�ʤ����Ȥ������¤⤢��ޤ���
(����ϡ��������β���餷�����Τ褦�ʥ��ץ���ĤˤĤʤ�����ɬ�פʥ��ڡ����餹���Ȥ����߷�η���ˤ���ΤǤ���)
��ե��ץ�ν��礬1�ڡ������礭���ʤä�1�ڡ����˼��ޤ�ʤ��ʤ�ȡ�ʬ�䤬�¹Ԥ��졢��֤��������ץ뤬��������ޤ���
�����������褹�뤿��ˤϡ��������������ץ�ϡ���դ��ͤν����2�İʾ�ΥΡ��ɤΥ��롼�פ�ʬ�䤷�ʤ���Фʤ�ޤ�����
�黻�ҥ��饹��picksplit
�ؿ��������Τ˼��Ԥ����Ȥ��ϡ�SP-GiST�Υ����ϡ�項56.3.3�˵��Ҥ���Ƥ������̤ʼ��ʤ���뤳�Ȥˤʤ�ޤ���
�ڹ�¤�Υ��르�ꥺ��ˤϡ����줾����������ץ���Ф��Ƹ��ꤵ�줿����ΥΡ��ɤ�Ȥ���Τ�����ޤ���
�㤨�л�ʬ�ڤǤϡ��������ץ���濴���μ����4�Ĥξݸ¤��б�������礦��4�ĤΥΡ��ɤ�ɬ������ޤ���
���Τ褦�ʾ�硢�����ɤ�ŵ��Ū�ˤϿ�����Ȥä��Ρ��ɤ�ư�������Ū�ʥΡ��ɥ�٥��ɬ�פ���ޤ���
�Ρ��ɥ�٥��Ȥ�ʤ�(�����Ƥ���ˤ�ꤤ���餫�Υ��ڡ���������)����ˡ�picksplit
�ؿ���nodeLabels����Ȥ���NULL���֤����Ȥ��Ǥ��ޤ���
���η�̡����θ��choose
�ؿ������inner_consistent
�ؿ��θƤӽФ��ˤ����Ƥ�nodeLabels��NULL�ˤʤ�ޤ���
��§�Ȥ��ơ��Ρ��ɥ�٥��Ʊ������ǥå�����ΰ������������ץ�˻Ȥ���¾���������ץ�ˤϾ�ά���롢�Ȥ������Ȥ��Ǥ��ޤ���
��٥�Τʤ��Ρ��ɤ�����������ץ���������Ȥ��ˡ�choose
��spgAddNode���֤��Τϥ��顼�Ǥ����Ȥ����Τϡ����ξ�硢�Ρ��ɤν���ϸ��ꤵ��Ƥ�������ꤵ��뤫��Ǥ���
�ޤ���spgSplitTuple�Υ��������ǥ�٥�Τʤ��Ρ��ɤ����������ѰդϤ���ޤ��Ȥ����Τϡ�spgAddNode�Υ���������ɬ�פˤʤ�ȹͤ����뤫��Ǥ���
picksplit
�����ϤΥ���ͤʤ��Ȥ�2�ĤΥΡ���ʬ���ʬ��Ǥ��ʤ��ä���硢SP-GiST�Υ����ϱ黻�ҥ��饹��picksplit
�ؿ��η�̤�̵���ˤ��뤳�Ȥ�����ޤ���
���줬������ȡ�ʣ���ΥΡ��ɤ���Ŀ������������ץ뤬��������ޤ������줾��ΥΡ��ɤϡ�picksplit
����ĤΥΡ��ɤ���Ϳ�������(�����)��Ʊ����٥�����������ͤϤ����������ʥΡ��ɴ֤ǥ������ʬ�䤵��ޤ���
�������ץ�ˤ�allTheSame�Υե饰�����åȤ��졢choose
�ؿ������inner_consistent
�ؿ����Ф������Υ��ץ뤬�̾���Ԥ����褦�ʥΡ��ɤν������äƤ��ʤ����Ȥ�ٹ𤷤ޤ���
allTheSame�ν����ˤ����ơ�choose
��spgMatchNode�Ȥ�����̤ϡ��������ͤ������ʥΡ��ɤΤɤ�˳�����Ƥ��Ƥ��ɤ����Ȥ�����̣�˲�ᤵ��ޤ���
�����Υ����ɤ����Ϥ��줿nodeN���ͤ�̵�뤷��(�ĥ��ʿ�դ��ݤĤ����)�Ρ��ɤ�1�Ĥ˥�����˹ߤ�Ƥ����ޤ���
choose
��spgAddNode���֤��Τϥ��顼�Ǥ����Ȥ����Τϡ���������Ȥ��٤ƤΥΡ��ɤ������ǤϤʤ��ʤ뤫��Ǥ���
���������ͤ���¸�ΥΡ��ɤȥޥå����ʤ����ϡ�spgSplitTuple�Υ���������Ȥ�ʤ���Фʤ�ޤ���
allTheSame�Υ��ץ�ν����ˤ����ơ����٤ƤΥΡ��ɤ������ʤΤǡ�inner_consistent
�ؿ��ϡ�����ǥå���������³���뤿��Υ������åȤȤ��ơ����٤ƤΥΡ��ɤ��֤������Ρ��ɤ�1�Ĥ��֤��ʤ����Τ����줫�Ǥ���٤��Ǥ���
���Τ���ˡ��ü쥱�����������ɤ�ɬ�פˤʤ뤫�⤷��ޤ���ɬ�פʤ����⤷��ޤ�����ϡ�inner_consistent
�ؿ������̾�Ρ��ɤΰ�̣�ˤĤ��Ƥɤ����٤Τ��Ȥ��ꤷ�Ƥ��뤫�˰�¸���ޤ���