Re: Query Analyzing

From: "Booth, Robert" <Robert_Booth(at)intuit(dot)com>
To: "'Manfred Koizar'" <mkoi-pg(at)aon(dot)at>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Query Analyzing
Date: 2002-07-08 18:16:34
Message-ID: 419D2EB7B461D411A53B00508B69181D0623262B@sdex02.sd.intuit.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


> that's not easy; let's try on. Could you post these two EXPLAIN
> ANALYZE results to the -general? Just for us to get a feeling ...
Query:
SELECT DISTINCT ALLFORMS.File__no, ALLFORMS.Mod, ALLFORMS.Frm_Wks,
ALLFORMS.ddf_type,
AANDA.Rev_Date, to_char(AANDA.Prelim_Est, 'MM/DD/YY') AS
prelim_est,
to_char(AANDA.Prelim_Rec, 'MM/DD/YY') AS prelim_rec,
to_char(AANDA.Final_Est, 'MM/DD/YY') AS final_est,
to_char(AANDA.Final_Rec, 'MM/DD/YY') AS final_rec,
to_char(AANDA.InstrExp, 'MM/DD/YY') AS instrexp,
to_char(AANDA.Lsr_to_GWood, 'MM/DD/YY') AS lsr_to_gwood,
to_char(AANDA.Instr_Rec, 'MM/DD/YY') AS instr_rec,
to_char(AANDA.GWood_Recd, 'MM/DD/YY') AS gwood_recd,
to_char(aanda.m_w_inst_to_dev, 'MM/DD/YY') AS
m_w_inst_to_dev,
AANDA.m_w_inst_status,
to_char(AANDA.M_W_Lsr_To_Dev, 'MM/DD/YY') AS m_w_lsr_to_dev,
AANDA.M_W_Lsr_Status, to_char(AANDA.Lsr_Sent, 'MM/DD/YY') AS
lsr_sent,
to_char(AANDA.M_W_Lsr_App, 'MM/DD/YY') AS m_w_lsr_app,
to_char(AANDA.InstPrelimExp, 'MM/DD/YY') AS instprelimexp,
to_char(AANDA.InstPrelimRec, 'MM/DD/YY') AS instprelimrec,
MODINFO.Team_Leader, MODINFO.Forms_Lead, MODINFO.Developer,
AANDA.plus,
MODINFO.IDGAandAPOC, MODINFO.IDGAandALead,
MODINFO.LacerteLead,
grdb.teamlead AS grdblacertelead, MODINFO.LacerteResearcher,
grdb.developer AS grdblacertedeveloper, MODINFO.EFLead,
MODINFO.EFDeveloper,
MODINFO.NGILead, MODINFO.NGIDeveloper,
to_char(AANDA.LsctoDev, 'MM/DD/YY') AS lsctodev,
AANDA.LscStatus,
to_char(AANDA.LscSent, 'MM/DD/YY') AS lscsent,
to_char(AANDA.LscApp, 'MM/DD/YY') AS lscapp,
grdb.busunit || grdb.state AS newlacertemodequiv,
ALLFORMS.OSfirstchk, MODINFO.Module, ALLFORMS.Scannablechk,
CASE WHEN comchk = true THEN 'C'
ELSE ''
END AS CT,
ALLFORMS.Inactive, aanda_status_types.code,
modinfo.proseries_actual_date, modinfo.turbotax_actual_date,
modinfo.webturbotax_actual_date,
modinfo.lacerte_actual_date,
tl.Extension as tl_extension, dev.Extension as
dev_extension,
ll.Extension as ll_extension, lr.Extension as lr_extension,
grdb.lacertefilename AS lacertename, grdb.lacerteformname,
gd.extension AS grdblacertedeveloperextension,
gl.extension AS grdblacerteleadextension
FROM ((((((((MODINFO INNER JOIN
(ALLFORMS INNER JOIN AANDA ON ALLFORMS.File__no = AANDA.File__no)
ON MODINFO.Module = ALLFORMS.Mod) LEFT JOIN aanda_status_types
ON AANDA.aanda_status_type_id =
aanda_status_types.aanda_status_type_id)
LEFT JOIN Users AS tl ON MODINFO.Team_Leader = tl.name)
LEFT JOIN Users AS dev ON MODINFO.Developer = dev.name)
LEFT JOIN Users AS ll ON MODINFO.LacerteLead = ll.name)
LEFT JOIN Users AS lr ON MODINFO.LacerteResearcher = lr.name)
LEFT JOIN grdb ON allforms.file__no = grdb.intuitfilename)
LEFT JOIN Users AS gd ON grdb.developer = gd.name)
LEFT JOIN Users AS gl ON grdb.teamlead = gl.name
WHERE ALLFORMS.Inactive Is Null;

Explain Analyze:
Unique (cost=3510.89..4004.48 rows=340 width=683) (actual
time=20608.43..21148.51 rows=5721 loops=1)
-> Sort (cost=3510.89..3510.89 rows=3404 width=683) (actual
time=20608.41..20688.00 rows=5721 loops=1)
-> Hash Join (cost=852.50..2693.25 rows=3404 width=683) (actual
time=1607.52..18045.90 rows=5721 loops=1)
-> Hash Join (cost=843.99..2625.17 rows=3404 width=657)
(actualtime=1594.90..14424.21 rows=5721 loops=1)
-> Hash Join (cost=835.47..2557.08 rows=3404
width=631) (actual time=1583.07..11301.51 rows=5721 loops=1)
-> Hash Join (cost=609.05..1418.36 rows=3404
width=556) (actual time=1033.09..7687.77 rows=2983 loops=1)
-> Hash Join (cost=600.54..1350.27
rows=3404 width=530) (actual time=1021.56..6627.42 rows=2983 loops=1)
-> Hash Join (cost=592.02..1282.19
rows=3404 width=504) (actual time=1010.18..5674.81 rows=2983 loops=1)
-> Hash Join
(cost=583.51..1214.10 rows=3404 width=478) (actual time=999.13..4811.00
rows=2983 loops=1)
-> Hash Join
(cost=575.00..1146.02 rows=3404 width=452) (actual time=987.95..4034.51
rows=2983 loops=1)
-> Hash Join
(cost=573.90..1127.80 rows=3404 width=443) (actual time=986.92..3334.55
rows=2983 loops=1)
-> Hash Join
(cost=524.29..993.09 rows=3404 width=233) (actual time=951.76..2567.33
rows=2985 loops=1)
-> Seq
Scan on aanda (cost=0.00..112.30 rows=3530 width=180) (actual
time=0.20..301.30 rows=3530 loops=1)
-> Hash
(cost=422.64..422.64 rows=8259 width=53) (actual time=914.46..914.46 rows=0
loops=1)
->
Seq Scan on allforms (cost=0.00..422.64 rows=8259 width=53) (actual
time=0.26..725.04 rows=8346 loops=1)
-> Hash
(cost=48.69..48.69 rows=369 width=210) (actual time=34.66..34.66 rows=0
loops=1)
-> Seq
Scan on modinfo (cost=0.00..48.69 rows=369 width=210) (actual
time=0.19..28.17 rows=369 loops=1)
-> Hash
(cost=1.08..1.08 rows=8 width=9) (actual time=0.50..0.50 rows=0 loops=1)
-> Seq Scan
on aanda_status_types (cost=0.00..1.08 rows=8 width=9) (actual
time=0.23..0.40 rows=8 loops=1)
-> Hash (cost=7.81..7.81
rows=281 width=26) (actual time=10.62..10.62 rows=0 loops=1)
-> Seq Scan on
users tl (cost=0.00..7.81 rows=281 width=26) (actual time=0.05..6.83
rows=281 loops=1)
-> Hash (cost=7.81..7.81
rows=281width=26) (actual time=10.47..10.47 rows=0 loops=1)
-> Seq Scan on users dev
(cost=0.00..7.81 rows=281 width=26) (actual time=0.05..6.59 rows=281
loops=1)
-> Hash (cost=7.81..7.81 rows=281
width=26) (actual time=10.67..10.67 rows=0 loops=1)
-> Seq Scan on users ll
(cost=0.00..7.81 rows=281 width=26) (actual time=0.05..6.75 rows=281
loops=1)
-> Hash (cost=7.81..7.81 rows=281
width=26) (actual time=10.86..10.86 rows=0 loops=1)
-> Seq Scan on users lr
(cost=0.00..7.81 rows=281 width=26) (actual time=0.06..6.85 rows=281
loops=1)
-> Hash (cost=145.14..145.14 rows=5314 width=75)
(actual time=509.09..509.09 rows=0 loops=1)
-> Seq Scan on grdb (cost=0.00..145.14
rows=5314 width=75) (actual time=0.17..317.69 rows=5314 loops=1)
-> Hash (cost=7.81..7.81 rows=281 width=26) (actual
time=10.96..10.96 rows=0 loops=1)
-> Seq Scan on users gd (cost=0.00..7.81
rows=281 width=26) (actual time=0.05..6.99 rows=281 loops=1)
-> Hash (cost=7.81..7.81 rows=281 width=26) (actual
time=11.06..11.06 rows=0 loops=1)
-> Seq Scan on users gl (cost=0.00..7.81 rows=281
width=26) (actual time=0.14..7.09 rows=281 loops=1)
Total runtime: 21238.31 msec

Query - Without Users Table:
SELECT DISTINCT ALLFORMS.File__no, ALLFORMS.Mod, ALLFORMS.Frm_Wks,
ALLFORMS.ddf_type,
AANDA.Rev_Date, to_char(AANDA.Prelim_Est, 'MM/DD/YY') AS
prelim_est,
to_char(AANDA.Prelim_Rec, 'MM/DD/YY') AS prelim_rec,
to_char(AANDA.Final_Est, 'MM/DD/YY') AS final_est,
to_char(AANDA.Final_Rec, 'MM/DD/YY') AS final_rec,
to_char(AANDA.InstrExp, 'MM/DD/YY') AS instrexp,
to_char(AANDA.Lsr_to_GWood, 'MM/DD/YY') AS lsr_to_gwood,
to_char(AANDA.Instr_Rec, 'MM/DD/YY') AS instr_rec,
to_char(AANDA.GWood_Recd, 'MM/DD/YY') AS gwood_recd,
to_char(aanda.m_w_inst_to_dev, 'MM/DD/YY') AS
m_w_inst_to_dev,
AANDA.m_w_inst_status,
to_char(AANDA.M_W_Lsr_To_Dev, 'MM/DD/YY') AS m_w_lsr_to_dev,
AANDA.M_W_Lsr_Status, to_char(AANDA.Lsr_Sent, 'MM/DD/YY') AS
lsr_sent,
to_char(AANDA.M_W_Lsr_App, 'MM/DD/YY') AS m_w_lsr_app,
to_char(AANDA.InstPrelimExp, 'MM/DD/YY') AS instprelimexp,
to_char(AANDA.InstPrelimRec, 'MM/DD/YY') AS instprelimrec,
MODINFO.Team_Leader, MODINFO.Forms_Lead, MODINFO.Developer,
AANDA.plus,
MODINFO.IDGAandAPOC, MODINFO.IDGAandALead,
MODINFO.LacerteLead,
grdb.teamlead AS grdblacertelead, MODINFO.LacerteResearcher,
grdb.developer AS grdblacertedeveloper, MODINFO.EFLead,
MODINFO.EFDeveloper,
MODINFO.NGILead, MODINFO.NGIDeveloper,
to_char(AANDA.LsctoDev, 'MM/DD/YY') AS lsctodev,
AANDA.LscStatus,
to_char(AANDA.LscSent, 'MM/DD/YY') AS lscsent,
to_char(AANDA.LscApp, 'MM/DD/YY') AS lscapp,
grdb.busunit || grdb.state AS newlacertemodequiv,
ALLFORMS.OSfirstchk, MODINFO.Module, ALLFORMS.Scannablechk,
CASE WHEN comchk = true THEN 'C'
ELSE ''
END AS CT,
ALLFORMS.Inactive, aanda_status_types.code,
modinfo.proseries_actual_date, modinfo.turbotax_actual_date,
modinfo.webturbotax_actual_date,
modinfo.lacerte_actual_date,
grdb.lacertefilename AS lacertename, grdb.lacerteformname
FROM ((MODINFO INNER JOIN
(ALLFORMS INNER JOIN AANDA ON ALLFORMS.File__no = AANDA.File__no)
ON MODINFO.Module = ALLFORMS.Mod) LEFT JOIN aanda_status_types
ON AANDA.aanda_status_type_id =
aanda_status_types.aanda_status_type_id)
LEFT JOIN grdb ON allforms.file__no = grdb.intuitfilename
WHERE ALLFORMS.Inactive Is Null;

Explain Analyze:
Unique (cost=2870.62..3313.15 rows=340 width=527) (actual
time=9864.94..10209.69 rows=5721 loops=1)
-> Sort (cost=2870.62..2870.62 rows=3404 width=527) (actual
time=9864.92..9938.36 rows=5721 loops=1)
-> Hash Join (cost=801.42..2198.75 rows=3404 width=527) (actual
time=1475.11..7707.23 rows=5721 loops=1)
-> Hash Join (cost=575.00..1146.02 rows=3404 width=452)
(actualtime=982.24..4017.73 rows=2983 loops=1)
-> Hash Join (cost=573.90..1127.80 rows=3404
width=443) (actual time=981.46..3333.14 rows=2983 loops=1)
-> Hash Join (cost=524.29..993.09 rows=3404
width=233) (actual time=952.03..2584.97 rows=2985 loops=1)
-> Seq Scan on aanda (cost=0.00..112.30
rows=3530 width=180) (actual time=0.23..322.69 rows=3530 loops=1)
-> Hash (cost=422.64..422.64 rows=8259
width=53) (actual time=910.08..910.08 rows=0 loops=1)
-> Seq Scan on allforms
(cost=0.00..422.64 rows=8259 width=53) (actual time=0.15..738.43 rows=8346
loops=1)
-> Hash (cost=48.69..48.69 rows=369 width=210)
(actual time=29.13..29.13 rows=0 loops=1)
-> Seq Scan on modinfo (cost=0.00..48.69
rows=369 width=210) (actual time=0.11..23.78 rows=369 loops=1)
-> Hash (cost=1.08..1.08 rows=8 width=9) (actual
time=0.42..0.42 rows=0 loops=1)
-> Seq Scan on aanda_status_types
(cost=0.00..1.08 rows=8 width=9) (actual time=0.15..0.32 rows=8 loops=1)
-> Hash (cost=145.14..145.14 rows=5314 width=75) (actual
time=439.53..439.53 rows=0 loops=1)
-> Seq Scan on grdb (cost=0.00..145.14 rows=5314
width=75) (actual time=0.09..292.42 rows=5314 loops=1)
Total runtime: 10273.98 msec

> Datatypes? Please post \d tabelname for the tables involved.
I should warn you that I didn't design these tables, and cannot currently
change them.

goforms=> \d modinfo;
Table "modinfo"
Column | Type | Modifiers
-------------------------+-----------------------------+-------------------
module | character varying(4) |
lacertemodequiv | character varying(4) |
forms_lead | character varying(20) |
idgaandalead | character varying(20) |
idgaandapoc | character varying(20) |
team_leader | character varying(20) |
developer | character varying(20) |
taxqa | character varying(20) |
lacertelead | character varying(20) |
lacerteresearcher | character varying(20) |
lacerteqa | character varying(20) |
eflead | character varying(20) |
efdeveloper | character varying(20) |
ngilead | character varying(20) |
ngideveloper | character varying(20) |
blank_second | character varying(20) |
letter_of_intent_flag | character varying(1) |
letterofintentchk | smallint |
loi_sent | timestamp without time zone |
guidelines_flag | character varying(1) |
guidelineschk | smallint |
guidelines_recd | timestamp without time zone |
scannable_forms_flag | character varying(1) |
scannableformschk | smallint |
dropout_ink_forms_flag | character varying(1) |
dropoutinkformschk | smallint |
order_form_flag | character varying(1) |
orderformchk | smallint |
order_form_recd | timestamp without time zone |
form_request_sent | timestamp without time zone |
id_code_reqd_flag | character varying(1) |
idcodereqdchk | smallint |
id_code | character varying(30) |
fontandstyle | character varying(30) |
previous_code_okay_flag | character varying(1) |
previouscodeokaychk | smallint |
penny_lines_reqd_flag | character varying(1) |
pennylinesreqdchk | smallint |
decimals_okay_flag | character varying(1) |
decimalsokaychk | smallint |
zerosreqdchk | smallint |
accept_dotm_flag | character varying(1) |
accept_grafx_flag | character varying(1) |
notes | text |
state | character varying(15) |
faxondemand | character varying(15) |
bbs | character varying(15) |
scnspecschk | smallint |
scngridchk | smallint |
scnscanbandchk | smallint |
scnchkdigchk | smallint |
scnvarfldinfo | character varying(255) |
scndocidchk | smallint |
scndocidinfo | character varying(24) |
scndocidspace | character varying(24) |
scnbarcodechk | smallint |
scnbarcodeinfo | character varying(24) |
scnbarcodespace | character varying(24) |
scnpatchchk | smallint |
scnpatchinfo | character varying(24) |
scnpatchspace | character varying(24) |
scnscanlinechk | smallint |
scnscanlineinfo | character varying(24) |
scnscanlinespace | character varying(24) |
scnseconddbarcodechk | smallint |
scnseconddbarcodeinfo | character varying(24) |
scnseconddbarcodespace | character varying(24) |
efannualapply | boolean | default 'f'::bool
efloireqd | boolean | default 'f'::bool
efnewapplyforchange | boolean | default 'f'::bool
efloisent | timestamp without time zone |
ef_application_sent | timestamp without time zone |
effedeerecd | timestamp without time zone |
efsteerecd | timestamp without time zone |
efpasswordsrecd | timestamp without time zone |
efackpappsent | timestamp without time zone |
efackppassconfirmed | timestamp without time zone |
efackpcontact | character varying(24) |
efirscenter | character varying(24) |
eftransirscenter | character varying(24) |
efdirectdebit | boolean | default 'f'::bool
efdirectdep | boolean | default 'f'::bool
efccardpay | boolean | default 'f'::bool
efzerodue | boolean | default 'f'::bool
efperpin | boolean | default 'f'::bool
efpropin | boolean | default 'f'::bool
efdirectfiling | boolean | default 'f'::bool
efreject | boolean | default 'f'::bool
eflscefsupport | boolean | default 'f'::bool
efnrsupport | boolean | default 'f'::bool
efpysupport | boolean | default 'f'::bool
efamendedsupport | boolean | default 'f'::bool
effedconsent | boolean | default 'f'::bool
efstconsent | boolean | default 'f'::bool
efpatsopen | timestamp without time zone |
efpatsclosed | timestamp without time zone |
efliveopen | timestamp without time zone |
efliveclosed | timestamp without time zone |
efnotes | text |
effedapp | boolean | default 'f'::bool
efstateapp | boolean | default 'f'::bool
efefinetins | boolean | default 'f'::bool
efindependent | boolean | default 'f'::bool
efjelf | boolean | default 'f'::bool
efackprovider | character varying(10) |
efmbuseridtest | timestamp without time zone |
efmbuseridlive | timestamp without time zone |
efackpasstest | timestamp without time zone |
efackpasslive | timestamp without time zone |
efsoftwareidrecq | boolean | default 'f'::bool
efextensionsupport | boolean | default 'f'::bool
efforeignsupport | boolean | default 'f'::bool
proseries_actual_date | timestamp without time zone |
turbotax_actual_date | timestamp without time zone |
webturbotax_actual_date | timestamp without time zone |
lacerte_actual_date | timestamp without time zone |
Indexes: modinfo_module
Unique keys: modinfo_pk

goforms=> \d allforms
Table "allforms"
Column | Type | Modifiers
-------------------+--------------------------+-------------------
file__no | character varying(8) | not null
mod | character varying(4) |
frm_id | character varying(3) |
inactive | character varying(8) |
frm_wks | character varying(18) |
pg_first | character varying(2) |
pg_second | character varying(2) |
filepgs | smallint |
totpgs | character varying(2) |
title | character varying(41) |
mainform | boolean | default 'f'::bool
scannablechk | boolean | default 'f'::bool
ddf_type | character varying(3) |
seconddchk | boolean | default 'f'::bool
i | character varying(5) |
c | character varying(5) |
s | character varying(5) |
p | character varying(5) |
f | character varying(5) |
o | character varying(5) |
x | character varying(5) |
first | character varying(5) |
second | character varying(5) |
third | character varying(5) |
fourth | character varying(5) |
fifth | character varying(5) |
starspecial | character varying(5) |
dfd | character varying(1) |
dog | character varying(1) |
atb | character varying(1) |
dst | character varying(1) |
stfirstchk | boolean | default 'f'::bool
stsecondchk | boolean | default 'f'::bool
stthirdchk | boolean | default 'f'::bool
stfourthchk | boolean | default 'f'::bool
stfifthchk | boolean | default 'f'::bool
st6chk | boolean | default 'f'::bool
atg | character varying(1) |
afd | character varying(1) |
abf | character varying(1) |
abs | character varying(1) |
fedfirstchk | boolean | default 'f'::bool
frmsfirstchk | boolean | default 'f'::bool
frmssecondchk | boolean | default 'f'::bool
frmsthirdchk | boolean | default 'f'::bool
frmsfourthchk | boolean | default 'f'::bool
busfirstchk | boolean | default 'f'::bool
bussecondchk | boolean | default 'f'::bool
busthirdchk | boolean | default 'f'::bool
busfourthchk | boolean | default 'f'::bool
busfifthchk | boolean | default 'f'::bool
bus6chk | boolean | default 'f'::bool
osfirstchk | boolean | default 'f'::bool
ossecondchk | boolean | default 'f'::bool
osthirdchk | boolean | default 'f'::bool
osfourthchk | boolean | default 'f'::bool
osfifthchk | boolean | default 'f'::bool
os6chk | boolean | default 'f'::bool
ngifirstchk | boolean | default 'f'::bool
ngisecondchk | boolean | default 'f'::bool
effirstchk | boolean | default 'f'::bool
ofl | character varying(1) |
aaa | character varying(1) |
bbb | character varying(1) |
fwchk | boolean | default 'f'::bool
ptchk | boolean | default 'f'::bool
aechk | boolean | default 'f'::bool
ltchk | boolean | default 'f'::bool
halchk | boolean | default 'f'::bool
comchk | boolean | default 'f'::bool
sim_to | character varying(28) |
notes | text |
fedp | character varying(1) |
fwbuild | text |
ptbuild | text |
ltbuild | text |
status | character varying(20) |
lscapprovalstatus | character varying(20) |
change_time | timestamp with time zone |
Indexes: allforms_file__no_idx,
allforms_frm_wks_idx,
allforms_mod_idx,
allforms_title_idx
Primary key: allforms_pkey

goforms=> \d aanda
Table "aanda"
Column | Type | Modifiers
----------------------+-----------------------------+-------------------
file__no | character varying(8) |
rev_date | character varying(8) |
prelim_est | timestamp without time zone |
firstst_prelim | timestamp without time zone |
prelim_rec | timestamp without time zone |
final_est | timestamp without time zone |
firstst_final | timestamp without time zone |
final_rec | timestamp without time zone |
instprelimexp | timestamp without time zone |
firststinstprelim | timestamp without time zone |
instprelimrec | timestamp without time zone |
instrexp | timestamp without time zone |
firststinstr | timestamp without time zone |
instr_rec | timestamp without time zone |
m_w_lsr_to_dev | timestamp without time zone |
m_w_lsr_status | character varying(2) |
m_w_inst_to_dev | timestamp without time zone |
m_w_inst_status | character varying(2) |
lsr_sent | timestamp without time zone |
m_w_lsr_app | timestamp without time zone |
lsr_app_by | character varying(20) |
lsr_writ_verb | character varying(7) |
lsr_app_w_c | character varying(1) |
lsr_resub_flag | character varying(1) |
lsr_to_gwood | timestamp without time zone |
lsr_to_fsyst | timestamp without time zone |
gwood_recd | timestamp without time zone |
fsyst_recd | timestamp without time zone |
notes | text |
plus | character varying(2) |
lacerte | boolean | default 'f'::bool
re_submit | character varying(1) |
lsctodev | timestamp without time zone |
lscstatus | character varying(2) |
lscsent | timestamp without time zone |
lscapp | timestamp without time zone |
lscappby | character varying(20) |
lscwrit_verb | character varying(7) |
lscappw_c | character varying(1) |
lscresub_flag | character varying(1) |
lscre_submit_flag | character varying(1) |
aanda_status_type_id | integer |
Indexes: aanda_file__no_idx,
aanda_lateforms_idx1,
aanda_lateforms_idx2,
readytosend_idx
Unique keys: aanda_pk

goforms=> \d aanda_status_types
Table "aanda_status_types"
Column | Type |
Modifiers
----------------------+-----------------------+-----------------------------
--------------------------------------------------
aanda_status_type_id | integer | not null default
nextval('aanda_status_types_aanda_status_type_id_Seq'::text)
code | character varying(2) |
description | character varying(50) |
Primary key: aanda_status_types_pkey

goforms=> \d grdb
Table "grdb"
Column | Type | Modifiers
-----------------+-----------------------+-------------------
lacertefilename | character varying(12) | not null
lacerteformname | character varying(30) |
state | character varying(2) |
busunit | character varying(1) |
formid | character varying(4) |
intuitfilename | character varying(12) |
editthisfile | boolean | default 'f'::bool
teamlead | character varying(20) |
developer | character varying(20) |
Indexes: grdb_intuitfilename_idx
Primary key: grdb_pkey

goforms=> \d users
Table "users"
Column | Type | Modifiers
---------------+-----------------------+-------------------
name | character varying(30) | not null
e_mailaddress | character varying(50) |
department | character varying(24) |
title | character varying(30) |
extension | character varying(15) |
password | character varying(10) |
active | boolean | default 'f'::bool
getmail | boolean | default 'f'::bool
Primary key: users_pkey

Again if there is somewhere I can go to read about explain plans let me know
I'd like to figure it out as opposed to getting the answers handed to me.

Rob

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2002-07-08 18:17:44 Re: WAL recycling, Linux 2.4.18
Previous Message Neil Conway 2002-07-08 18:13:01 Re: Query Speed!!!