13.2. �滮��ʹ�õ�ͳ����Ϣ

������������һ����չʾ����������ѯ�滮����Ҫ����һ����ѯ�������е���Ŀ����������ѡ����ȷ�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 ��ʹ���˸���ռ䣬������Ҫ��΢��һЩ��ʱ����������ֵ�� ���֮�£��Ƚϵ͵����ƿ��ܸ��ʺ���Щ���ݷֲ��Ƚϼ򵥵��ֶΡ�