��ʬ����ǥå����Ȥϡ��ơ��֥�Υ��֥��åȤ˹��ۤ���륤��ǥå����Ǥ������֥��åȤϡ���ʬ����ǥå������Ҹ��פȸ������P���������ޤ������νҸ�ξ����������Ԥ��Ф��ƤΤߥ���ǥå�������������ޤ���
��ʬ����ǥå��������Ѥ�������Ū�ϡ��ѽ��ͤ��Ф��ƥ���ǥå����κ�����Ԥʤ�ʤ����ȤǤ���(�ơ��֥����Το��ѡ�����Ȥ�����)�ѽ��ͤ������䤤��碌�Ǥϸ�������ǥå�������Ѥ��ʤ����ᡢ�������Ф��ƥ���ǥå�����������뤳�ȤϤ��ޤ��̣������ޤ�����ʬ����ǥå����ϡ����̤Υ���ǥå������⥵�������������ʤ�ޤ��Τǡ�����ǥå�������Ѥ����䤤��碌���®�ˤʤ�ޤ����ޤ����ơ��֥빹������ɬ�����⤹�٤ƤΥ���ǥå��������ʤ����ᡢ������Ȥ���ʤ�ޤ��� Example 7-1�Ǥϡ����γ�ǰ�˴�Ť���ǽ���ץꥱ��������ɽ���Ƥ��ޤ���
Example 7-1. �������ͤ��������ʬ����ǥå���������
��Ȥ��ơ����⥦���֤Υ����������Ϥ�ǡ����١�������Ͽ���Ƥ���������ꤷ�Ƥߤޤ��礦��¿���Υ��������ϼ����IP���ɥ쥹���ϰϤǤ��礦�����㤨�Х������륢�åפ���³���Ƥ���Ұ��Υ������������ϼ���IP���ɥ쥹���ϰϤǤϤʤ��Ǥ��礦���ҳ�����Υ����������˸�������ΤǤ���С�����Υ��֥ͥåȤ˳�������IP���ɥ쥹���ϰϤ˥���ǥå������������ɬ�פϤ���ޤ���
�����Τ褦�ʥơ��֥�����ꤷ�Ƥߤޤ��礦��
CREATE TABLE access_log ( url varchar, client_ip inet, ... );
������˹礦��ʬ����ǥå������������ˤϡ������Τ褦�ʥ��ޥ�ɤ�¹Ԥ��ޤ���
CREATE INDEX access_log_client_ip_ix ON access_log (client_ip) WHERE NOT (client_ip > inet '192.168.100.0' AND client_ip < inet '192.168.100.255');
���Υ���ǥå�������Ѥ��롢����Ū���䤤��碌�ϼ��Τ褦�ʤ�ΤǤ���
SELECT * FROM access_log WHERE url = '/index.html' AND client_ip = inet '212.78.10.32';
�դˡ����Υ���ǥå�������ѤǤ��ʤ��䤤��碌�ϼ��Τ褦�ʤ�ΤǤ���
SELECT * FROM access_log WHERE client_ip = inet '192.168.100.23';
���Τ褦����ʬ����ǥå����ϡ����餫�����ѽ��ͤ����Ǥ��뤫���ΤäƤ���ɬ�פ�����ޤ����ͤ�ʬ�ۤ�(���ץꥱ����������������)��ͭ�ǡ����ĸ����(���֤��ФäƤ��Ѳ����ʤ�)��硢���Τ褦����ʬ����ǥå����κ�����������ޤ����������ѽ��ͤ����ޤ��ޥ����ɤ��줿�ǡ�����ñ�ʤ��̤Ȥ��Ʒ��ꤵ����硢���ƥʥ��ȤƤ����Ѥˤʤ�ޤ���
�ѽ��ͤ�ǥå��������ӽ�����⤦1�Ĥ���ˡ�Ȥ��ơ� Example 7-2�ˤ⤢��褦�ˡ�����Ū���䤤��碌��ɬ�פʤ���Τ�ǥå��������������ˡ���ͤ����ޤ���������ˡ�������Ͼ嵭�Τ�Τ�Ʊ���Ǥ���������ǥå��������Ѥ�ͭ���ʾ��Ǥ��ɬ�פΤʤ���Ρפϥ���ǥå�������Ѥ��ʤ����Ȥ����������⤢�ꤨ�ޤ������Τ褦�ˡ���ʬ����ǥå��������������ˤϺٿ������դ�ʧ�������ڤ�Ԥʤ�ɬ�פ�����ޤ���
Example 7-2. ɬ�פΤʤ��ͤ����������ʬ����ǥå����κ���
��Ȥ��ơ���ʧ�Ѥ���ʸ���̤��ʧ��ʸ��ʤ�1�ĤΥơ��֥��ͤ��ޤ��������Ƥ��Υơ��֥�ˤ�̤��ʧ����ʸ��γ������������������Ĥ�����ʬ�ؤΥ�����������¿���ä��Ȥ��ޤ������Τ褦�ʾ�硢̤��ʧ�ιԤ��Ф��ƥ���ǥå�����������뤳�Ȥˤ�äơ��ѥե����ޥ���夵���뤳�Ȥ��Ǥ��ޤ�������ǥå����κ����ϡ��ʲ��Τ褦�ʥ��ޥ�ɤ���Ѥ��ޤ���
CREATE INDEX orders_unbilled_index ON orders (order_nr) WHERE billed is not true;
�ʲ��ϡ����Υ���ǥå�������Ѥ����䤤��碌�Ǥ���
SELECT * FROM orders WHERE billed is not true AND order_nr < 10000;
�������ʤ��顢order_nr�˴ط���̵���䤤��碌�Ǥ⤳�Υ���ǥå�������ѤǤ��ޤ��������Ϥ����䤤��碌����Ǥ���
SELECT * FROM orders WHERE billed is not true AND amount > 5000.00;
�����ƥब����ǥå������Τ����ʤ���Фʤ�ʤ����ᡢ amount����ʬ����ǥå������������������Ӥ��Ƹ�Ψ���ɤ��Ȥϸ����ޤ����������⤷̤��ʧ��ʸ��ǡ��������Ū���ʤ�������ʬ����ǥå�����Ȥ�������Ψ���ɤ��ʤ�Ǥ��礦��
�������䤤��碌�ϥ���ǥå�������Ѥ��ʤ���Ǥ���
SELECT * FROM orders WHERE order_nr = 3501;
��ʸ�ֹ� 3501�ϻ�ʧ�Ѥߤ��⤷��ޤ���̤��ʧ���⤷��ʤ�����Ǥ���
Example 7-2�����ʬ����褦�ˡ�����ǥå������������줿��̾�ȽҸ�ǻ��Ѥ���Ƥ�����̾�ϰ��פ��Ƥ���ɬ�פϤ���ޤ��� PostgreSQL�Ǥϡ�Ǥ�սҸ����ʬ����ǥå����ݡ��Ȥ��Ƥ��ޤ��Τǡ�����ǥå������������ơ��֥����Ϣ����Ƥ�������к�������ޤ�������������ʬ����ǥå������������ݤνҸ�ϡ�����ǥå����λ��Ѥ�ͭ�פ��䤤��碌�ξ��Ȱ��פ���ɬ�פ�����ޤ����Ĥޤꡢ��ʬ����ǥå����ϡ������ƥ�ˤ�ä��䤤��碌�� WHERE �������Ū�˥���ǥå����νҸ�����ƤϤ�����Ȥ��Ǥ����Ƚ�Ǥ��줿�䤤��碌�ǤΤ��Ѳ�ǽ�Ǥ��� PostgreSQL�ˤϡ��ۤä��ǽ줿�Ҹ줬Ʊ���Τ�ΤǤ��뤫�ɤ��������Ū��Ƚ���Ǥ���褦�ʡ��������줿����������ǽ�Ϥ���ޤ���(������ͳ�Ȥ��Ƥϡ����Τ褦������������μ���������Ǥ�������ǤϤʤ����ºݤ����ѤˤϤ��ޤ�ˤ�¹�®�٤��٤��Ȥ������Ȥ��������ޤ���)�ǡ����١��������ƥ�ϡ�x < 1�פϡ�x < 2�פ��̣����Ȥ����褦��ñ�����������ǧ�����ޤ���������ʳ��ϡ��Ҹ�����䤤��碌�ξ�P�ϰ��פ��Ƥ��ʤ���Фʤ�ޤ����פ��Ƥ��ʤ����ϡ�����ǥå��������Ѳ�ǽ��ǧ������ޤ���
3�Ĥ����ʬ����ǥå����λ�����Ǥϡ��䤤��碌�ǥ���ǥå������������Ѥ��ޤ��ĤޤꡢExample 7-3�ˤ���褦�ˡ��ơ��֥�Υ��֥��åȤȤ��ư�ե���ǥå������������Ȥ������ȤǤ�������ϡ�����ǥå����νҸ�����������٤ƤιԤ����������ʤ��Ԥ����뤳��̵������դ��ͤǤ��뤳�Ȥ������ޤ���
Example 7-3. ��դ���ʬ����ǥå����κ���
�ƥ��Ȥη�̤���Ǽ����Ƥ���ơ��֥뤬����Ȥ��ޤ���Ϳ����줿��̾(subject)�ȥ������å�(target)���Ȥ߹礻���Ф��ơ�"����"�Ȥʤ������ͤ�1�Ĥ����ǡ����Ԥˤʤ��Τ�ʣ�����뤳�Ȥ��ݾڤ������Ȥ��ޤ��������Ϥ��Υ��ޥ�ɤǤ���
CREATE TABLE tests (subject text, target text, success bool, ...); CREATE UNIQUE INDEX tests_success_constraint ON tests (subject, target) WHERE success;
�嵭�Τ褦�ʡ������ξ�礬���ʤ������Ԥξ�礬¿���褦�ʥ��������ä�ͭ���Ǥ���
�Ǹ�ˡ���ʬ����ǥå����ϥǡ����١��������ƥ���䤤��碌�¹ԥץ��������������ˤ�Ȥ��ޤ�������ǥå�������Ѥ��٤��Ǥʤ����Ǥ⡢�ü�ʥǡ���ʬ�ۤξ��Ǥϡ�����ǥå�������Ѥ��Ƥ��ޤ���礬�������ޤ������Τ褦�ʾ�硢����ǥå�������Ѥ��٤��ǤϤʤ��䤤��碌���Ф��Ƥ��Υ���ǥå�������ѤǤ��ʤ�����褦�����ꤹ�뤳�Ȥ��Ǥ��ޤ����̾PostgreSQL�Ϲ���Ū�ʥ���ǥå����λ��Ѥ�Ԥʤ��ޤ�(�㤨�С��褯�����ͤθ����ξ��ˤϥ���ǥå�������Ѥ��ʤ��ʤɤǤ������Ҥ���Ǥϥ���ǥå������礭��������������Τ�Τǡ�����ǥå����λ��Ѥ��������뤿��Τ�ΤǤϤ���ޤ���)�����˴ְ�ä��ײ������ΤǤ���С��Х����ꤤ���ޤ���
��ʬ����ǥå������������Ȥ������Ȥϡ��䤤��碌�¹ԥץ��ʤ�Ʊ�����μ�����äƤ��ơ��äˡ����ĥ���ǥå�����ͭ�פǤ��뤫���ΤäƤ���Ȥ������Ȥ��̣���ޤ������Τ褦���μ������뤿��ˤϡ��и���PostgreSQL�ǤϤɤΤ褦�˥���ǥå������¹Ԥ���Ƥ��뤫���μ���ɬ�פȤʤ�ޤ���¿���ξ�硢��ʬ����ǥå������̾�Υ���ǥå�������ͭ�פʥ������ϴ��Ǥ���
��ʬ����ǥå����˴ؤ�����ܺ٤�The case for partial indexes�� Partial indexing in POSTGRES: research project��Generalized Partial Indexes�ʤɤȤ��Ʋ�������