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_01C08A0A.2F4ED358
Content-Type: text/plain;
charset="iso-8859-1"
Have you run the required "UPDATE STATISTICS" for this table? Depending on
the statistics in hand, it might think that the sequential scan might be
quicker.
-----Original Message-----
From: shahid.mehmood [mailto:shahid.mehmood@aku.edu]
Sent: Monday, January 29, 2001 7:58 AM
To: informix-list@iiug. org (E-mail)
Cc: shahid.mehmood
Subject:
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_01C08A0A.2F4ED358
Content-Type: text/html;
charset="iso-8859-1"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE></TITLE>
<META content="MSHTML 5.00.3013.2600" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT color=#0000ff face=Arial size=2><SPAN class=640254815-29012001>Have
you run the required "UPDATE STATISTICS" for this table? Depending on the
statistics in hand, it might think that the sequential scan might be
quicker.</SPAN></FONT></DIV>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
<DIV align=left class=OutlookMessageHeader dir=ltr><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> shahid.mehmood
[mailto:shahid.mehmood@aku.edu]<BR><B>Sent:</B> Monday, January 29, 2001 7:58
AM<BR><B>To:</B> informix-list@iiug. org (E-mail)<BR><B>Cc:</B>
shahid.mehmood<BR><B>Subject:</B> <BR><BR></DIV></FONT>
<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 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 ...</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 = 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
(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 size=2>Estimated # of Rows
Returned: 5</FONT> <BR><FONT size=2>Temporary Files Required For: Order
By</FONT> </P>
<P><FONT size=2>1) paydba.payprmbcalc: SEQUENTIAL SCAN
{ why ? i need index scan }</FONT>
</P>
<P><FONT size=2> Filters: paydba.payprmbcalc.paymonth =
2000130000</FONT> </P>
<P><FONT size=2>2) paydba.employee: INDEX PATH</FONT> </P>
<P><FONT size=2> (1) Index Keys: internalno</FONT> <BR><FONT
size=2>&