11.2. ��������

PostgreSQL �ṩ�˺ü����������͡� B-tree��R-tree��Hash �� GiST��ÿ���������Ͷ��Ƚ��ʺ�ijЩ�ض��IJ�ѯ���ͣ� ��Ϊ�������˲�ͬ���㷨�� ȱʡʱ��CREATE INDEX �������һ�� B-tree ������ ���ʺϴ���������

B-tree ���Դ�����Щ���԰���ij��˳��洢�����ݵĵ��ںͷ�Χ��ѯ�� �ر�����һ�����������������漰��ʹ�����в�����֮һ���бȽϵ�ʱ�� PostgreSQL �IJ�ѯ�滮�����ῼ��ʹ�� B-tree ������

<
<=
=
>=
>

�����Ч����Щ����������ϣ����� BETWEEN �� IN�� Ҳ������ B-tree �����������ߡ�������Ҫע�⣬IS NULL ������ =�� �����Dz��ܽ��������ġ���

�Ż���Ҳ��� B-tree ���������漰ģʽƥ������� LIKE�� ILIKE��~���� ~* �IJ�ѯ��������ģʽê�����ִ��Ŀ�ͷ�����磬 col LIKE 'foo%' ���� col ~ '^foo'�� ������ col LIKE '%bar'�� ���ǣ������ķ����������� C ������ô����Ҫ��һ������IJ���������������֧��ģʽƥ���ѯ�ϵ������� ��������� Section 11.6��

R-tree �����ر��ʺ��ڿռ����ݡ�Ҫ����һ�� R-tree ������ ʹ��������ʽ������

CREATE INDEX name ON table USING RTREE (column);

��һ�������˵����漰��ʹ�����в�����֮һ���бȽϵ�ʱ�� PostgreSQL �IJ�ѯ�滮�����ῼ��ʹ�� R-tree ������

<<
&<
&>
>>
@
~=
&&

(��ο� Section 9.10 ��ȡ��Щ�������ĺ��塣)

ɢ�У�hash������ֻ�ܴ���򵥵ĵ��ڱȽϡ� ��һ�������˵����漰��ʹ�� = ���������бȽϵ�ʱ�� ��ѯ�滮���ῼ��ʹ��ɢ�������� ������������ڴ���ɢ��������

CREATE INDEX name ON table USING HASH (column);

ע��: ���Ա��� PostgreSQL ��ɢ�������� B-tree �������ƻ�����һЩ�� ����ɢ�������ijߴ������ʱ��Ҫ��ܶࡣ�����ڸ߶Ȳ����������£�ɢ�� ����������Ҳ�ܲ��ˣ�Ŀǰ���Dz�����ʹ��ɢ��������

GiST �������ǵ���һ���������ͣ�����һ�ּܹ������������ּܹ���ʵ�ֺܶ಻ͬ���������ԡ� ��ˣ�����ʹ�� GiST �������ض����������͸����������ԵIJ�ͬ����ͬ�������������� ��� Chapter 48��

B-tree ������һ�� Lehman-Yao �߲��� B-tree ��ʵ �֡�R-tree ������ Guttman �Ķ��ηָ��㷨ʵ���˱�׼�� R-tree�� hash��ɢ�У������� Litwin ������ɢ�е�һ��ʵ�֡� ���ǵ������г���Щ���õ��㷨��Ҫ����������Щ��������������ȫ��̬�IJ��Ҳ��ؽ��������Ե��Ż� �����磬��̬ɢ���㷨��������������