A verbose explanation of a simpler query, with the VERBOSE keyword : EXPLAIN Query « Select Query « PostgreSQL

Home
PostgreSQL
1.Aggregate Functions
2.Analytical Functions
3.Array
4.Constraints
5.Cursor
6.Data Type
7.Database
8.Date Timezone
9.Index
10.Inheritance
11.Insert Delete Update
12.Math Functions
13.Postgre SQL
14.Select Query
15.Sequence
16.Store Procedure Function
17.String Functions
18.Subquery
19.Table
20.Table Joins
21.Transaction
22.User Previliege
23.View
PostgreSQL » Select Query » EXPLAIN Query 
A verbose explanation of a simpler query, with the VERBOSE keyword

postgres=#
postgres=# CREATE TABLE employee (
postgres(#     ID         int,
postgres(#     name       varchar(10),
postgres(#     salary     real,
postgres(#     start_date date,
postgres(#     city       varchar(10),
postgres(#     region     char(1)
postgres();
CREATE TABLE
postgres=#
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (1,  'Jason', 40420,  '02/01/94', 'New York', 'W');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (2,  'Robert',14420,  '01/02/95', 'Vancouver','N');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (3,  'Celia', 24020,  '12/03/96', 'Toronto',  'W');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (4,  'Linda', 40620,  '11/04/97', 'New York', 'N');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (5,  'David', 80026,  '10/05/98', 'Vancouver','W');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (6,  'James', 70060,  '09/06/99', 'Toronto',  'N');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (7,  'Alison',90620,  '08/07/00', 'New York', 'W');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (8,  'Chris', 26020,  '07/08/01', 'Vancouver','N');
INSERT 0 1
postgres=# insert into employee (ID, name,    salary, start_date, city,       region)
postgres-#               values (9,  'Mary',  60020,  '06/09/02', 'Toronto',  'W');
INSERT 0 1
postgres=#
postgres=# select from employee;
 id |  name  | salary | start_date |   city    | region
----+--------+--------+------------+-----------+--------
  | Jason  |  40420 1994-02-01 | New York  | W
  | Robert |  14420 1995-01-02 | Vancouver | N
  | Celia  |  24020 1996-12-03 | Toronto   | W
  | Linda  |  40620 1997-11-04 | New York  | N
  | David  |  80026 1998-10-05 | Vancouver | W
  | James  |  70060 1999-09-06 | Toronto   | N
  | Alison |  90620 2000-08-07 | New York  | W
  | Chris  |  26020 2001-07-08 | Vancouver | N
  | Mary   |  60020 2002-06-09 | Toronto   | W
(rows)

postgres=#
postgres=#
postgres=#
postgres=# -- A verbose explanation of a simpler query, with the VERBOSE keyword:
postgres=#
postgres=# EXPLAIN VERBOSE SELECT FROM employee;
                         QUERY PLAN
-------------------------------------------------------------
    {SEQSCAN
    :startup_cost 0.00
    :total_cost 20.30
    :plan_rows 1030
    :plan_width 45
    :targetlist (
       {TARGETENTRY
       :expr
          {VAR
          :varno 1
          :varattno 1
          :vartype 23
          :vartypmod -1
          :varlevelsup 0
          :varnoold 1
          :varoattno 1
          }
       :resno 1
       :resname id
       :ressortgroupref 0
       :resorigtbl 19576
       :resorigcol 1
       :resjunk false
       }
       {TARGETENTRY
       :expr
          {VAR
          :varno 1
          :varattno 2
          :vartype 1043
          :vartypmod 14
          :varlevelsup 0
          :varnoold 1
          :varoattno 2
          }
       :resno 2
       :resname name
       :ressortgroupref 0
       :resorigtbl 19576
       :resorigcol 2
       :resjunk false
       }
       {TARGETENTRY
       :expr
          {VAR
          :varno 1
          :varattno 3
          :vartype 700
          :vartypmod -1
          :varlevelsup 0
          :varnoold 1
          :varoattno 3
          }
       :resno 3
       :resname salary
       :ressortgroupref 0
       :resorigtbl 19576
       :resorigcol 3
       :resjunk false
       }
       {TARGETENTRY
       :expr
          {VAR
          :varno 1
          :varattno 4
          :vartype 1082
          :vartypmod -1
          :varlevelsup 0
          :varnoold 1
          :varoattno 4
          }
       :resno 4
       :resname start_date
       :ressortgroupref 0
       :resorigtbl 19576
       :resorigcol 4
       :resjunk false
       }
       {TARGETENTRY
       :expr
          {VAR
          :varno 1
          :varattno 5
          :vartype 1043
          :vartypmod 14
          :varlevelsup 0
          :varnoold 1
          :varoattno 5
          }
       :resno 5
       :resname city
       :ressortgroupref 0
       :resorigtbl 19576
       :resorigcol 5
       :resjunk false
       }
       {TARGETENTRY
       :expr
          {VAR
          :varno 1
          :varattno 6
          :vartype 1042
          :vartypmod 5
          :varlevelsup 0
          :varnoold 1
          :varoattno 6
          }
       :resno 6
       :resname region
       :ressortgroupref 0
       :resorigtbl 19576
       :resorigcol 6
       :resjunk false
       }
    )
    :qual <>
    :lefttree <>
    :righttree <>
    :initPlan <>
    :extParam (b)
    :allParam (b)
    :nParamExec 0
    :scanrelid 1
    }

 Seq Scan on employee  (cost=0.00..20.30 rows=1030 width=45)
(126 rows)

postgres=#

           
       
Related examples in the same category
1.Executing EXPLAIN for a query
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.