PostgreSQL 9.1.5ʸ�� | ||||
---|---|---|---|---|
前のページ | 巻戻し | 第 52章����ǥå�������������åɤΥ��ե�������� | 早送り | 次のページ |
PostgreSQL�ϡ�SQL�ΰ������������������ǥå�������Ѥ��ƶ������ޤ��� ���Υ���ǥå����Ǥϡ�Ʊ�쥭�����Ф�ʣ���ι��ܤ�����ޤ��� ���ε�ǽ�ݡ��Ȥ��륢��������åɤ�pg_am.amcanunique�����ꤷ�ޤ��� �ʸ������Ǥ�b-tree�Τߤ�����ݡ��Ȥ��ޤ�����
MVCC�Τ��ᡢ����ǥå������ʪ��Ū�˽�ʣ�������ܤ�¸�ߤ��뤳�Ȥ��Ǥ��뤳�Ȥ����ɬ�פǤ��� �����ι��ܤϣ��Ĥ�����Ū�ʹԤ�Ϣ³Ū�ʥС��������ޤ��� �ºݤ˶�����������ư��ϡ�MVCC���ʥåץ���åȤ�Ʊ������ǥå�����������ĹԤĴޤ�ʤ����ȤǤ��� ���������ǥå����˿������Ԥ�����������˸������ʤ���Фʤ�ʤ�������ʲ��Τ褦��ʬ�䤹�뤳�Ȥ��Ǥ��ޤ���
���礹��ͭ���ʹԤ����ߤΥȥ�������Ǻ�����줿�������ꤢ��ޤ��� �ʶ���Ū�ˤϡ�UPDATE�Ͼ�˿������С������������������˸Ť��ԥС������������ޤ��� ����ˤ�ꥭ�����ѹ����뤳�Ȥʤ��Ԥ�UPDATE���뤳�Ȥ��Ǥ��ޤ�����
���礹��Ԥ�̤���ߥåȤΥȥ���������������줿��硢�������褦�Ȥ��Ƥ������ϥȥ�������Υ��ߥåȤ�ʬ����ޤ��Ե����ʤ���Фʤ�ޤ��� ������Хå��������϶��礷�ޤ��� ���礹��Ԥ�������줺�˥��ߥåȤ�����硢�������ȿ�Ȥʤ�ޤ��� �ʶ���Ū�ˤϡ�¾�Υȥ�������ν�λ���Ե�������λ��˲Ļ����θ��������˺Ƽ¹Ԥ��ޤ�����
Ʊ�ͤˡ����礹��ͭ���ʹԤ�̤���ߥåȤΥȥ�������Ǻ�����줿��硢�������褦�Ȥ��Ƥ������ϥȥ�������Υ��ߥåȤޤ��ϥ��ܡ��Ȥ��Ե����ʤ���Фʤ餺�����θ塢����֤��ޤ���
����ˡ��嵭��§�˽��ä��������ȿ����𤹤�ľ���ˡ�����������åɤ����������Ԥ�ͭ��������ٸ������ʤ���Фʤ�ޤ��� �⤷��̵���ʥ��ߥåȤǤ���С���ȿ����𤷤ƤϤ����ޤ��� �ʸ��ߤΥȥ�������ˤ�äƺ������줿�̾�ιԤ������Ȥ��������Ǥϡ������ȯ�����뤳�ȤϤ���ޤ��� �������������CREATE UNIQUE INDEX CONCURRENTLY���ȯ�����뤳�Ȥ�����ޤ�����
����ǥå�������������åɤˤ���������ȤǹԤ����Ȥ��ᤷ�ޤ��� ����ϡ�����ǥå��������Ƥ��Ф��ƽ�ʣ���륭������Ĥ��Ȥ��Ƥ���Ǥ�դιԤΥ��ߥåȾ��֤����뤿��ˡ��ҡ��פޤǥ����������ʤ���Фʤ�ʤ����Ȥ��̣���ޤ��� ���줬�����⥸�塼�벽����ʤ����Ȥˤϵ���;�ϤϤ���ޤ��� ��������;�פʺ�Ȥ��ɤ����Ȥ��Ǥ��ޤ��� �⤷ʬΥ���줿õ����Ԥä��Ȥ���ȡ�����������ǥå������ܤ����������������������礹��Ԥ��Ф��륤��ǥå����������ɤ����Ƥⷫ���֤���ޤ��� ����ˡ����縡��������ǥå����Ԥ�������ʬ�����礵��ƹԤ��ʤ��¤ꡢ������֤��ɤ����Τ���ˡ������ޤ���
����������ٱ��ǽ�Ǥ�����Ϥ����ʣ���ˤʤ�ޤ���
�������Ը����Υ���ǥå������ܤ�������ǽ�ˤ���ɬ�פ�����ޤ���
�������������ȿ���顼��ʸ�ν����ޤ��Ϥ���ʹߤޤ��ٱ䤵��ޤ���
���פʥ���ǥå��������η����֤����ɤ�����ˡ�����ǥå�������������åɤϽ���������δ֤����¤ΰ����������Ԥ�ʤ���Фʤ�ޤ���
���줬��¸���륿�ץ�Ȥޤä������礬�ʤ����Ȥ�����硢����ǽ�λ�Ǥ���
����ʤ���С��������������˺Ƹ�����Ԥ��褦�������塼�뤷�ޤ���
�Ƹ����λ������оݤΥ��ץ��Ʊ����������IJ��餫��¾�Υ��ץ뤬¸�ߤ���ȡ����顼����𤷤ʤ���Фʤ�ޤ���
�ʤ�����Ū�Τ����"¸�ߤ���"�ϼºݤˤ�"����ǥå������ܤ�HOT����������˲��餫�Υ��ץ뤬¸�ߤ���"���Ȥ��̣���ޤ�����
�����������뤿��ˡ�aminsert
�ϰʲ��Τ����줫���ͤ����checkUnique�ѥ������Ϥ���ޤ���
UNIQUE_CHECK_NO�ϡ������������Ԥ����ȤϤʤ�(����ϰ��������ǥå����ǤϤʤ�)���Ȥ��ޤ���
UNIQUE_CHECK_YES�ϡ���Ҥ��̤��ٱ䤬�ʤ����������ǥå����Ǥ��ꡢ�����������¨���˹Ԥ�ʤ���Фʤ�ʤ����Ȥ��ޤ���
UNIQUE_CHECK_PARTIAL�ϰ���������ٱ��ǽ�Ǥ��뤳�Ȥ��ޤ���
PostgreSQL�Ϥ��Υ⡼�ɤ���Ѥ��ơ��ƹԤΥ���ǥå������ܤ��������ޤ���
���Υ���������åɤϥ���ǥå�����ν�ʣ������ܤ�����ʤ���Фʤ�ޤ���
������aminsert
���鵶���֤����Ȥǽ�ʣ�β�ǽ�������뤳�Ȥ���𤷤ʤ���Фʤ�ޤ���
�����֤��줿�Ԥ��줾����Ф��ơ��ٱ�Ƹ�����ͽ�ꤵ��ޤ���
����������åɤϰ���������ȿ�Ȥʤ뤫�⤷��ʤ��Ԥ��̤��ʤ���Фʤ�ޤ��� �������ְ�ä�������𤹤뤳�Ȥϥ��顼�ǤϤ���ޤ��� ����ˤ��¾�Υȥ���������ԤĤ��Ȥʤ�������Ԥ����Ȥ��Ǥ��ޤ��� ��������𤵤줿��ʣ�ϥ��顼�Ȥ��ư���줺����ǺƸ�������ޤ��� �Ƹ������ˤϽ�ʣ���ʤ��ʤäƤ����ǽ��������ޤ���
UNIQUE_CHECK_EXISTING�ϡ��������ȿ�β�ǽ�����������𤵤줿�Ԥ��Ф����ٱ�Ƹ����Ǥ��뤳�Ȥ��ޤ���
�����aminsert
��ƤӽФ����ȤǼ�������ޤ���������������åɤϤ��ξ��˿���������ǥå������ܤ��������Ƥ������ޤ�����
����ǥå������ܤϤ��Ǥ�¸�ߤ��ޤ���
������⡢����������åɤ�¾��¸�ߤ��륤��ǥå������ܤ����뤫��������ɬ�פ�����ޤ���
�⤷¸�ߤ����оݤιԤ�ޤ�¸�ߤ����票�顼����𤷤ޤ���
UNIQUE_CHECK_EXISTING�ƤӽФ��Ǥϡ�����������åɤϤ�����оݹԤ��ºݤ˥���ǥå�����˴�¸�ι��ܤ���Ĥ����ڤ����⤷�ʤ���Х��顼����𤹤뤳�Ȥ�侩���ޤ���
aminsert
���Ϥ���륤��ǥå������ץ��ͤ��Ʒ�����Ƥ��뤿�ᴫ��ޤ���
����ǥå�������˼ºݤˤ����ѤǤϤʤ��ؿ����ޤޤ���硢����ǥå����δְ�ä��ΰ�����Ƥ��ޤ����⤷��ޤ���
�Ƹ����ˤ��оݹԤ�¸�ߤ����뤳�Ȥǡ����������ǻ��Ѥ��줿��Τ�Ʊ�����ץ��ͤ���Ƥ��뤳�Ȥڤ��ޤ���