PostgreSQL 8.0.0 �����ĵ���PostgreSQL �й� ������ | ||||
---|---|---|---|---|
Prev | Fast Backward | Fast Forward | Next |
����������ʾPostgreSQL�滮��Ϊ���ṩ��������ɵ�ִ�й滮�� ִ�й滮��ʾ������õı�����α�ɨ��� — �Ǽ�˳��ɨ�裬��������ɨ��� — ������������˶���� ������ʲô���������㷨��ÿ������ı���ȡ������Ҫ�ļ�¼��
��ʾ��������ؼ��IJ�����Ԥ�Ƶ����ִ�п����� ����ǹ滮�������и��������ʱ��Ĺ��ƣ��Դ���ҳ���ȡΪ��λ�������� ʵ������ʾ���������֣����ص�һ�м�¼ǰ������ʱ�䣬 �ͷ������м�¼����ʱ�䡣���ڴ������ѯ���ԣ����ĵ�����ʱ�䣬���ǣ� ��ijЩ�����£�����һ�� EXISTS �Ӳ�ѯ� �滮����ѡ����С����ʱ���������С��ʱ�䣨��Ϊִ�����ڻ�ȡһ����¼������Ҫͣ�������� ͬ�����������һ�� LIMIT �Ӿ����Ʒ��صļ�¼���� �滮���������յĿ�������һ������IJ�ֵ�Լ����ĸ��滮������ʡ��
ANALYZE ѡ��²�ѯ��ʵ��ִ�У����������ǹ滮�� ������ʾ����������ÿ���滮�ڵ��ڲ���������ʱ�䣨�Ժ���ƣ�����ʵ�ʷ��ص������� ��Щ���ݶ������ù滮����Ԥ���Ƿ����ʵ������а�����
Important: Ҫ��ס���Dz�ѯʵ������ʹ�� ANALYZE ��ʱ����ִ�еġ� ���� EXPLAIN �������κ� SELECT �᷵�ص������ ����������ѯ�ĸ����û���һ���ᷢ���ġ� ������� INSERT��UPDATE��DELETE������ EXECUTE �����ʹ�� EXPLAIN ANALYZE�����һ������ò�ѯӰ��������ݣ� ������ķ�����
BEGIN; EXPLAIN ANALYZE ...; ROLLBACK;
ִ�������ʾʵ������ʱ�䡣
��ʾ�滮���������ڲ�������ʽ������������һ��ժҪ�� ͨ�������ѡ��ֻ��������ĵ��Թ��̵�ʱ�����á� VERBOSE ��������Ǵ�ӡ�ù����ģ�Ҳ���ܲ��ǣ� ����ȡ�������ò��� explain_pretty_print��
�κ�SELECT��INSERT��UPDATE�� DELETE��EXECUTE������ DECLARE ��䡣
�� PostgreSQL ��ֻ�к��ٵ�һЩ�ĵ������й��Ż������㿪�������⡣ �ο� Section 13.1 ��ȡ������Ϣ��
Ϊ���� PostgreSQL ��ѯ�滮�����Ż���ѯ��ʱ������������жϣ� ������Ҫ���� ANALYZE ����Լ�¼�й������ڱ��еķֲ���ͳ����Ϣ�� �����û����������飨����������ϴ� ANALYZE ������ ���е�����ͳ�Ʒֲ������������仯������ô��������Ŀ���Ԥ�ƺܿ������ѯ��ʵ�����Բ�����Ӧ�� ��˺ܿ��ܻ�ѡȡһ���Ƚϲ�IJ�ѯ�滮��
�� PostgreSQL 7.3 ��ǰ����ѯ�滮���� NOTICE ��Ϣ����ʽ�������ġ� ����������ʾ��ʽ��һ����ѯ�������ʽ����������һ���е����ı��ֶεı���
��ʾһ����ֻ��һ�� int4 �к� 10000 �еı�ļ�ѯ�IJ�ѯ�滮��
EXPLAIN SELECT * FROM foo; QUERY PLAN --------------------------------------------------------- Seq Scan on foo (cost=0.00..155.00 rows=10000 width=4) (1 row)
�������һ����������������ʹ��һ����Ӧ�������� WHERE �����IJ�ѯ�� EXPLAIN ����ʾ��ͬ�Ĺ滮��
EXPLAIN SELECT * FROM foo WHERE i = 4; QUERY PLAN -------------------------------------------------------------- Index Scan using fi on foo (cost=0.00..5.98 rows=1 width=4) Index Cond: (i = 4) (2 rows)
������һ��ʹ���˾ۼ������IJ�ѯ�IJ�ѯ�滮��
EXPLAIN SELECT sum(i) FROM foo WHERE i < 4; QUERY PLAN ------------------------------------------------------------------- Aggregate (cost=23.93..23.93 rows=1 width=4) -> Index Scan using fi on foo (cost=0.00..23.92 rows=6 width=4) Index Cond: (i < 10) (3 rows)
������һ��ʹ�� EXPLAIN EXECUTE ��ʾһ�������õIJ�ѯ�滮�����ӣ�
PREPARE query(int, int) AS SELECT sum(bar) FROM test WHERE id > $1 AND id < $2 GROUP BY foo; EXPLAIN ANALYZE EXECUTE query(100, 200); QUERY PLAN ------------------------------------------------------------------------------------------------------------------------- HashAggregate (cost=39.53..39.53 rows=1 width=8) (actual time=0.66..0.67 rows=7 loops=1) -> Index Scan using test_pkey on test (cost=0.00..32.97 rows=1311 width=8) (actual time=0.05..0.39 rows=99 loops=1) Index Cond: ((id > $1) AND (id < $2)) Total runtime: 0.85 msec (4 rows)
ע��������ʾ�����֣� ��������ѡ��IJ�ѯ���Զ��п����ڸ��� PostgreSQL�汾֮�䲻ͬ--��Ϊ�滮���ڲ��ϸĽ��� ���⣬ANALYZE ����ʹ������IJ�������������ͳ�ƣ� ��ˣ�һ���µ� ANALYZE ����֮�������ƿ��ܻ�仯�� ��ʹ���ݵ�ʵ�ʷֲ�û�иı�Ҳ������