CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( column [ ops_name ] [, ...] ) [ WHERE predicate ] CREATE [ UNIQUE ] INDEX index_name ON table [ USING acc_method ] ( func_name( column [, ... ]) [ ops_name ] ) [ WHERE predicate ]
����ǥå������ʤ��Ǥ˥ǡ�����������֤ǡ˺��������Ȥ��ȥǡ������ɲä����Ȥ��ˡ��ơ��֥�����ͤ���ʣ���Ƥ��ʤ���������å����ޤ�����ʣ����ȥ���������̤Ȥʤ�ǡ����������ޤ��Ϲ����ϥ��顼�Ȥʤ�ޤ���
��������륤��ǥå�����̾���Ǥ��� ����̾���ˤϡ���������̾��ޤ�뤳�ȤϤǤ��ޤ�����ǥå����ϡ���ˤ��οƥơ��֥��Ʊ���������ޤ˺�������ޤ���
����ǥå��������������ơ��֥��̾���Ǥ� (����������̾�ξ��⤢��ޤ�)��
����ǥå����˻Ȥ��륢��������åɤ�̾���Ǥ����ǥե���ȤΥ���������åɤ� BTREE �Ǥ���PostgreSQL �� 4 �ĤΥ���ǥå����ѥ���������åɤ����ޤ���
Lehman-Yao ���¹��� B-trees �μ����Ǥ���
Guttman ����ʬ�䥢�르�ꥺ���Ȥä�ɸ�� R-trees �μ����Ǥ���
Litwin �������ϥå���μ����Ǥ���
�Ʋ�����ǥå��������ĥ
�ơ��֥�����̾���Ǥ���
��Ϣ����黻�ҥ��饹�Ǥ����ܺ٤ϲ����Ȥ��Ʋ�������
����ǥå����դ�������ͤ��֤��ؿ��Ǥ���
��ʬ����ǥå���������������ޤ���
CREATE INDEX�� index_name ����ǥå�������ꤵ�줿 table��˺��ޤ���
Tip: ����ǥå����ϼ�˥ǡ����١�������ǽ����夵���뤿��˻Ȥ��ޤ�����������Ŭ�ڤʻ��Ѥ���ǽ���㲼�ˤĤʤ���ޤ���
�嵭�κǽ�˼�������ʸ�Ǥϡ�����ǥå����Υ����ե�����ɤ���̾�Ȥ��ƻ��ꤵ��ޤ������⤷����ǥå�������������åɤ�ʣ������Ф��륤��ǥå����ݡ��Ȥ�����ϡ�ʣ���Υե�����ɤ����Ǥ��ޤ���
�嵭����2�ι�ʸ�Ǥϡ�����1�ĤΥơ��֥��1�Ĥޤ���ʣ�������Ŭ�Ѥ����桼������ؿ� func_name �η�̤˽��äƥ���ǥå��������ꤵ��ޤ��������� �ؿ�����ǥå��� �ϡ��̾︵�Ȥʤ�ǡ�����Ŭ�Ѥ���ݤ˲��餫���Ѵ���ɬ�פȤ���롢�黻�Ҥ˴�Ť��ǡ����˹�®�˥�����������Ȥ��˻��Ѥ��뤳�Ȥ��Ǥ��ޤ��� ���Ȥ��С�upper(col) �˴ؿ�����ǥå������������ȡ�WHERE upper(col) = 'JIM' ��ǥ���ǥå�������ѤǤ��ޤ���
PostgreSQL �ϥ���ǥå����Ѥ� B-tree��R-tree��hash��GiST �Υ���������åɤ��Ѱդ��Ƥ��ޤ���B-tree ����������åɤ� Lehman-Yao ���¹��� B-tree �μ����Ǥ���R-tree ����������åɤ� Guttman ����ʬ�䥢�르�ꥺ�����Ѥ���ɸ�� R-tree ��������ޤ���hash ����������åɤ� Litwin �������ϥå���μ����Ǥ����Ȥ�줿���르�ꥺ�����Τϡ�ñ�ˤ����Υ���������åɤϤ��٤ƴ�����ưŪ�Ǥ������Ū�˺�Ŭ�������ɬ�סʤ��Ȥ�����Ūhash����������åɤǤϤ���ޤ��ˤ��ʤ��Ȥ������Ȥ�����Ǥ���
WHERE �礬¸�ߤ����硢��ʬ����ǥå�������������ޤ�����ʬ����ǥå����ϡ��ơ��֥�ΰ������̾�ϡ��ơ��֥����Ǥ�겿�餫�ζ�̣�Τ�����ʬ�ΤߤΥ���ȥ����ĥ���ǥå����Ǥ����㤨�С���ʧ�Ѥߡ�̤��ʧ����ʸ�����ƤȤ����ơ��֥뤬���ꡢ�ơ��֥����Τ����̤��ʧ����ʸ�γ�礬�����������ġ����ˤ˻��Ѥ�����硢������ʬ�Τߤ˥���ǥå�����������뤳�Ȥ���ǽ����夵���뤳�Ȥ��Ǥ��ޤ�������¾�μ¸���ˡ�Ȥ��Ƥϡ�UNIQUE �դ��� WHERE ����Ѥ��ơ��ơ��֥�ΰ����˰�����������뤳�ȤǤ���
WHERE ��ǻ��Ѥ���뼰�ϥơ��֥���ˤ�����ΤߤȤ��뤳�Ȥ��Ǥ��ޤ�(������������ǥå������줿������ǤϤʤ������Ƥ������Ѥ��뤳�Ȥ��Ǥ��ޤ�)�� ���ߡ����䤤��碌�Ƚ��ˤĤ��Ƥ⡢WHERE �ǻ��Ѥ��뤳�Ȥ��Ǥ��ޤ���
����ǥå���������ǻ��Ѥ�������Ƥδؿ��ȱ黻�Ҥϡ����� �Ǥʤ���Фʤ�ޤ��� �Ĥޤꡢ���η�̤����ϰ����ˤΤߤ˰�¸����(¾�Υơ��֥�����Ƥ丽����ʤɤ�) ��������αƶ�������ƤϤʤ�ޤ��������¤ϡ�����ǥå�����ư��Ͻ�ʬ��������줿��ΤǤ��뤳�Ȥ�μ¤ˤ��ޤ��� �桼������δؿ���ǥå����˻��Ѥ��뤿�ᡢ�ؿ����������ݡ����δؿ��� IMMUTABLE (����) ���ץ������դ��뤳�Ȥ�˺��ʤ��Dz�������
����ǥå�����������ˤ� DROP INDEX����Ѥ��Ʋ�������
PostgreSQL���䤤��碌���ץƥ��ޥ����ϡ�����ǥå������줿°���������Τɤ줫��ޤ���Ӥ˴�Ϣ����Ȥ��Ͼ��B-tree�λ��Ѥ��θ���ޤ��� <, <=, =, >=, >
PostgreSQL���䤤��碌���ץƥ��ޥ����ϡ�����ǥå������줿°���������Τɤ줫��ޤ���Ӥ˴�Ϣ����Ȥ��Ϥ��Ĥ�R-tree�λ��Ѥ��θ���ޤ��� <<, &<, &>, >>, @, ~=, &&
PostgreSQL���䤤��碌���ץƥ��ޥ����ϡ�����ǥå������줿°����=����Ѥ�����Ӥ˴�Ϣ����Ȥ��Ϥ��Ĥ�hash����ǥå����λ��Ѥ��θ���ޤ���
�ƥ��Ȥη�̡�PostgreSQL �Ǥ� hash ����ǥå����ν���®�٤� B-tree ����ǥå�����Ʊ�����뤤���٤���Τǡ��ޤ���ɬ�פʥ���ǥå�������������ӹ��ۻ��֤ˤĤ��Ƥ� B-tree ����ǥå�����꤫�ʤ����뤳�Ȥ�ʬ����ޤ����� �ޤ���hash ����ǥå����ϡ���Ʊ���¹Ծ������ǤΥѥե����ޥ��ɤ�����ޤ��� ��������ͳ�ˤ�ꡢhash ����ǥå����λ��ѤϿ侩����Ƥ��ޤ���
���ߤǤϡ�B-tree �� gist ����������åɤΤߤ���ʣ������Ф��륤��ǥå����ݡ��Ȥ��Ƥ��ޤ���32�ĤޤǤϥǥե���Ȥǻ��ꤹ�뤳�Ȥ��Ǥ��ޤ��ʤ������¤�PostgreSQL���ۤκݤ��ѹ��Ǥ��ޤ��ˡ����ߤǤ� B-tree �Τߤ����������ǥå����ݡ��Ȥ��Ƥ��ޤ���
�黻�ҥ��饹�ϥ���ǥå����Τ��줾�����˻��ꤹ�뤳�Ȥ��Ǥ��ޤ����黻�ҥ��饹�Ϥ�����Υ���ǥå����ˤ�äƻȤ���黻�Ҥ��̤��ޤ������Ȥ��С�4�Х����������B-tree����ǥå�����int4_ops���饹��Ȥ��ޤ��� ���α黻�ҥ��饹��4�Х�����������Ӵؿ���ޤߤޤ��������Ǥϡ��̾�ե�����ɤΥǡ������Υǥե���ȱ黻�ҥ��饹�Ͻ�ʬ�Ǥ����黻�ҥ��饹������礭�ʰ�̣�ϡ������Ĥ��Υǡ������ˤ�1�İʾ�ΰ�̣��������֤����뤫�⤷��ʤ��Ȥ������ȤǤ������Ȥ��С������ͤޤ��ϼ¿����Τɤ��餫��Ȥä�ʣ�ǿ��Υǡ��������Ȥ��������⤷��ޤ��������뤿��ˤ�2�Ĥα黻�ҥ��饹�Υǡ������������������ǥå�������Ȥ������������饹�����ޤ����ü����Ū����ı黻�ҥ��饹�⤤���Ĥ�����ޤ���
�黻�ҥ��饹 box_ops �� bigbox_ops �ϡ��ɤ���� box �ǡ�������R-tree����ǥå����ݡ��Ȥ��Ƥ��ޤ��� ���ΰ㤤�ϡ�bigbox_ops �ϡ������礭����ư��������ɸ���Ф����ѻ����û��������ˤ�ä���������ư���������㳰���뤿��˻ͳѷ��κ�ɸ��̾����뤳�ȤǤ���(����:����Ͼ������ޤǤϿ��¤Ǥ����� �����������ߤǤϤ��� 2 �Ĥα黻�ҥ��饹�Ϥɤ������ư����������Ѥ����¼�Ū�ˤ�Ʊ����ΤǤ���)
�ʲ����䤤��碌�Ϥ��٤Ƥ�������줿�黻�ҥ��饹���ޤ���
SELECT am.amname AS acc_method, opc.opcname AS ops_name FROM pg_am am, pg_opclass opc WHERE opc.opcamid = am.oid ORDER BY acc_method, ops_name;