PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Chapter 13. ������������ | Fast Forward | Next |
������������һ����չʾ����������ѯ�滮����Ҫ����һ����ѯ�������е���Ŀ����������ѡ����ȷ�IJ�ѯ�滮�� ���ھ�ϵͳ������Щ���Ƶ�ͳ�ƽ���һЩ������
ͳ�Ƶ�һ�����־���ÿ����������еļ�¼�������Լ�ÿ���������ռ�ݵĴ��̿����� �����Ϣ������ pg_class �� reltuples �� relpages �ֶ��С����ǿ�������������IJ�ѯ������Щ��Ϣ��
SELECT relname, relkind, reltuples, relpages FROM pg_class WHERE relname LIKE 'tenk1%'; relname | relkind | reltuples | relpages ---------------+---------+-----------+---------- tenk1 | r | 10000 | 233 tenk1_hundred | i | 10000 | 30 tenk1_unique1 | i | 10000 | 30 tenk1_unique2 | i | 10000 | 30 (4 rows)
������������Կ��� tenk1 �� 10000 �У� ��������Ҳ����ô���У���������Զ�ȱ�С�öࣨ����������
����Ч�ʿ��ǣ�reltuples �� relpages ����ʵʱ���µģ� �������ͨ������������Щ��ʱ����ֵ�� ���DZ� VACUUM��ANALYZE���ͼ��� DDL ������� CREATE INDEX ���¡�һ�������� ANALYZE�� Ҳ����û�к� VACUUM ��һ��ģ� ����һ��reltuples �Ľ�����ֵ�� ��Ϊ����û�ж�ȡ�����ÿһ�С��滮������ pg_class ���������ֵ����Ϊ�͵�ǰ�������ߴ�ƥ�䣬�Դ˻�ȡһ�����ӽ��Ľ���ֵ��
�������ѯֻ�Ǽ��������е�һ���֣���Ϊ���������ƴ����е� WHERE �Ӿ䡣 ��˹滮����Ҫ��WHERE�Ӿ��ѡ����(selectivity)���������� ѡ����Ҳ���Ƿ���WHERE�Ӿ���ÿ�������IJ��֡� �������Ŀ�ĵ���Ϣ�洢�� pg_statistic ϵͳ���С� �� pg_statistic �еļ�¼���� ANALYZE �� VACUUM ANALYZE ������µģ� �������ǽ���ֵ����ʹ�ոո�����Ҳ�����⡣
����ֱ�Ӳ鿴 pg_statistic ֮�⣬ �����ֹ����ͳ�Ƶ�ʱ����ò鿴������ͼ pg_stats�� pg_stats ��Ƴɸ��߿ɶ��ԡ� ���ң�pg_stats �������˶����Զ�ȡ�ģ� �� pg_statistic ֻ���ɳ����û���ȡ�� �������Ϳ��Ա������Ȩ�û���ͳ����Ϣ�л�ȡһЩ�������˵ı�������ص���Ϣ�� pg_stats ��ͼ����Լ���ģ�ֻ��ʾ��ǰ�û��ɶ��ı��� ���磬���ǿ��ԡ�
SELECT attname, n_distinct, most_common_vals FROM pg_stats WHERE tablename = 'road'; attname | n_distinct | most_common_vals ---------+------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- name | -0.467008 | {"I- 580 Ramp","I- 880 Ramp","Sp Railroad ","I- 580 ","I- 680 Ramp","I- 80 Ramp","14th St ","5th St ","Mission Blvd","I- 880 "} thepath | 20 | {"[(-122.089,37.71),(-122.0886,37.711)]"} (2 rows)
pg_stats �� Section 41.36 ����ϸ������
�� pg_statistic ��洢����Ϣ���������ر��� ��ÿ���ֶ��õ� most_common_vals �� histogram_bounds �����ϵ�����¼��Ŀ������ ALTER TABLE SET STATISTICS �������ã� ������������ʱ���� default_statistics_target ����ȫ�����á� Ŀǰȱʡ�������� 10 ����¼�� ����������Ӧ�ÿ���������ȷ�Ĺ滮�����ƣ��ر��Ƕ���Щ�в��������ݷֲ����ֶζ��ԣ� �����Ĵ������� pg_statistic ��ʹ���˸���ռ䣬������Ҫ����һЩ��ʱ����������ֵ�� ���֮�£��Ƚϵ͵����ƿ��ܸ��ʺ���Щ���ݷֲ��Ƚϼ��ֶΡ�