Unidata 7.1.8 on Solaris 9
I've got a subroutine which performs a query, parses some data and then
returns a result to the calling process.
The routine was consistently taking 20 milliseconds - not too bad
but certainly not great - I have other routines that usually take under
10 milliseconds.
After re-reading my code, I realize the query the routine was
executing wasn't indexed so I created an index on the field used in the
query and made no changes to the subroutine at all.
Now when I execute my code it consistently takes 33-35 milliseconds.
So I'm trying to explain why creating an index would slow performance
instead of increase it.
The file in question is small - only 239 records to query against - so I
understand why it doesn't benefit from an index as a file with 1,000,000
records might. But I'm not clear why performance would degrade.
Any insight appreciated.
For those who like details:
File.................. H08.CR.EVAL.QUES
Alternate key length.. 20
Node/Block size....... 4K
OV blocks............. 1 (0 in use, 0 overflowed)
Indices............... 2 (2 D-type)
Index updates......... Enabled, No updates pending
Index-Name...... F-type K-type Built Empties Dups In-DICT S/M
F-no/VF-expr....
XCEQ.TYPE D Txt Yes No Yes Yes S 3
XCEQ.ORDER D Num Yes No Yes Yes S 4
and the query is:
SELECT H08.CR.EVAL.QUES WITH XCEQ.TYPE EQ "foo" BY XCEQ.ORDER
Jeff Butera, Ph.D.
Manager of ERP Systems
Hampshire College
[email protected]
413-559-5556
"Life is a giant weenie roast and I'm the biggest weenie."
Rose, The Golden Girls
_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users