RE:
Posted in 2001
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C08A71.D248FC70
Content-Type: text/plain;
charset="iso-8859-1"
BUT the index is always there.
Official: Yes
-----Original Message-----
From: Mark Griebling [mailto:mgriebling@webswift.com]
Sent: Monday, January 29, 2001 20:41 PM
To: shahid.mehmood; informix-list@iiug. org (E-mail)
Subject: Re:
Hi Shadid,
You need an index on payprmbcalc.paymonth.
Later,
Mark
At 05:58 PM 1/29/01 +0500, shahid.mehmood wrote:
OS: SCO UNIX 5.0, IX: OWS 7.20.UC2
I have a table named payprmbcalc which also has index on its three fields.
This
table contains 28000+ records. when I run a query on this table with the db
engine searches the table using sequential scan, where as I am expecting
search
using an index. this query is taking too long to complete. can you guys
suggest
any thing how to improve this query ...
The table schema and 'set explain on' output is attached here with.
The Table Schema ...
{ TABLE "paydba".payprmbcalc row size = 58 number of columns = 9 index size
=
36 }
create table "paydba".payprmbcalc
(
paymonth integer not null constraint "paydba".n196_305,
internalno char(6) not null constraint "paydba".n196_306,
currency char(10) not null constraint "paydba".n196_307,
balance decimal(10,2),
product decimal(10,2),
taxprofit decimal(10,2),
ntaxprofit decimal(10,2),
lastedit date,
lastuser char(10)
);
create unique index "paydba".pp001idx on "paydba".payprmbcalc
(paymonth,internalno, currency);
the 'set explain output' ...
QUERY:
------
select employee.employeeno , payprmbcalc.internalno,
employee.fname , employee.mname , employee.lname ,
payprmbcalc.currency , payprmbcalc.balance ,
employee.appointment , employee.termination ,
payprmbcalc.product , payprmbcalc.taxprofit ,
payprmbcalc.ntaxprofit
from payprmbcalc, employee
where payprmbcalc.paymonth = 2000130000
and employee.internalno = payprmbcalc.internalno
order by 1
Estimated Cost: 7
Estimated # of Rows Returned: 5
Temporary Files Required For: Order By
1) paydba.payprmbcalc: SEQUENTIAL SCAN { why ? i need index scan }
Filters: paydba.payprmbcalc.paymonth = 2000130000
2) paydba.employee: INDEX PATH
(1) Index Keys: internalno
Lower Index Filter: paydba.employee.internalno =
paydba.payprmbcalc.internalno
an early reply will be highly appreciated.
thanks.
Shahid Mehmood
Software Designer & IX DBA
Information Systems Department
The Aga Khan University,
Karachi
Official: Yes
------_=_NextPart_001_01C08A71.D248FC70
Content-Type: text/html;
charset="iso-8859-1"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2652.35">
<TITLE>RE: </TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=2>BUT the index is always there.</FONT>
</P>
<P><FONT SIZE=2>Official: Yes</FONT>
</P>
<BR>
<P><FONT SIZE=2>-----Original Message-----</FONT>
<BR><FONT SIZE=2>From: Mark Griebling [<A HREF="mailto:mgriebling@webswift.com">mailto:mgriebling@webswift.com</A>]</FONT>
<BR><FONT SIZE=2>Sent: Monday, January 29, 2001 20:41 PM</FONT>
<BR><FONT SIZE=2>To: shahid.mehmood; informix-list@iiug. org (E-mail)</FONT>
<BR><FONT SIZE=2>Subject: Re: </FONT>
</P>
<BR>
<P><FONT SIZE=2>Hi Shadid,</FONT>
</P>
<P><FONT SIZE=2>You need an index on payprmbcalc.paymonth.</FONT>
</P>
<P><FONT SIZE=2>Later,</FONT>
</P>
<P><FONT SIZE=2>Mark</FONT>
</P>
<BR>
<P><FONT SIZE=2>At 05:58 PM 1/29/01 +0500, shahid.mehmood wrote:</FONT>
</P>
<P><FONT SIZE=2>OS: SCO UNIX 5.0, IX: OWS 7.20.UC2</FONT>
</P>
<P><FONT SIZE=2>I have a table named payprmbcalc which also has index on its three fields. This </FONT>
<BR><FONT SIZE=2>table contains 28000+ records. when I run a query on this table with the db </FONT>
<BR><FONT SIZE=2>engine searches the table using sequential scan, where as I am expecting search </FONT>
<BR><FONT SIZE=2>using an index. this query is taking too long to complete. can you guys suggest </FONT>
<BR><FONT SIZE=2>any thing how to improve this query ...</FONT>
</P>
<P><FONT SIZE=2>The table schema and 'set explain on' output is attached here with.</FONT>
</P>
<P><FONT SIZE=2>The Table Schema ...</FONT>
</P>
<P><FONT SIZE=2>{ TABLE "paydba".payprmbcalc row size = 58 number of columns = 9 index size = </FONT>
<BR><FONT SIZE=2>36 }</FONT>
<BR><FONT SIZE=2>create table "paydba".payprmbcalc</FONT>
<BR><FONT SIZE=2> (</FONT>
<BR><FONT SIZE=2> paymonth integer not null constraint "paydba".n196_305,</FONT>
<BR><FONT SIZE=2> internalno char(6) not null constraint "paydba".n196_306,</FONT>
<BR><FONT SIZE=2> currency char(10) not null constraint "paydba".n196_307,</FONT>
<BR><FONT SIZE=2> balance decimal(10,2),</FONT>
<BR><FONT SIZE=2> product decimal(10,2),</FONT>
<BR><FONT SIZE=2> taxprofit decimal(10,2),</FONT>
<BR><FONT SIZE=2> ntaxprofit decimal(10,2),</FONT>
<BR><FONT SIZE=2> lastedit date,</FONT>
<BR><FONT SIZE=2> lastuser char(10)</FONT>
<BR><FONT SIZE=2> );</FONT>
</P>
<P><FONT SIZE=2>create unique index "paydba".pp001idx on "paydba".payprmbcalc </FONT>
<BR><FONT SIZE=2>(paymonth,internalno, currency);</FONT>
</P>
<P><FONT SIZE=2>the 'set explain output' ...</FONT>
</P>
<P><FONT SIZE=2>QUERY:</FONT>
<BR><FONT SIZE=2>------</FONT>
<BR><FONT SIZE=2>select employee.employeeno , payprmbcalc.internalno,</FONT>
<BR><FONT SIZE=2> employee.fname , employee.mname , employee.lname ,</FONT>
<BR><FONT SIZE=2> payprmbcalc.currency , payprmbcalc.balance ,</FONT>
<BR><FONT SIZE=2> employee.appointment , employee.termination ,</FONT>
<BR><FONT SIZE=2> payprmbcalc.product , payprmbcalc.taxprofit ,</FONT>
<BR><FONT SIZE=2> payprmbcalc.ntaxprofit</FONT>
<BR><FONT SIZE=2> from payprmbcalc, employee</FONT>
<BR><FONT SIZE=2> where payprmbcalc.paymonth = 2000130000</FONT>
<BR><FONT SIZE=2> and employee.internalno = payprmbcalc.internalno</FONT>
<BR><FONT SIZE=2> order by 1</FONT>
</P>
<P><FONT SIZE=2>Estimated Cost: 7</FONT>
<BR><FONT