O/t Whole-index

WHOLE-INDEX (Progress 9.1d both Chui and GUI – under Windows)

We were having problems with speed of one particular program so compiled it with XREF and found that the FIND was doing a WHOLE-INDEX search. The FIND was changed and now works correctly.

However to cut a long story short please look at the following and does it really do a WHOLE-INDEX search or is it just the compiler telling untruths?

The book table does have an index for ISBN (called i-isbn).



FIND FIRST book WHERE isbn NE "" USE-INDEX i-isbn NO-LOCK NO-ERROR.

DISPLAY book.bookcode book.isbn.

On doing COMPILE mci.p XREF mci.lst save.

The mci.lst contains

.\devel\mci.p .\devel\mci.p 1 COMPILE devel/mci.p

.\devel\mci.p .\devel\mci.p 1 CPINTERNAL iso8859-1

.\devel\mci.p .\devel\mci.p 1 CPSTREAM iso8859-1

.\devel\mci.p .\devel\mci.p 2 STRING "book" 4 NONE UNTRANSLATABLE

.\devel\mci.p .\devel\mci.p 2 ACCESS imprint.book isbn

.\devel\mci.p .\devel\mci.p 2 SEARCH imprint.book i-isbn
WHOLE-INDEX

.\devel\mci.p .\devel\mci.p 4 ACCESS imprint.book bookcode

.\devel\mci.p .\devel\mci.p 4 ACCESS imprint.book isbn

.\devel\mci.p .\devel\mci.p 4 STRING "x(13)" 5 NONE TRANSLATABLE FORMAT

.\devel\mci.p .\devel\mci.p 4 STRING "x(13)" 5 NONE TRANSLATABLE FORMAT

.\devel\mci.p .\devel\mci.p 4 STRING "Book Code" 9 LEFT TRANSLATABLE

.\devel\mci.p .\devel\mci.p 4 STRING "ISBN" 4 LEFT TRANSLATABLE

.\devel\mci.p .\devel\mci.p 4 STRING "bookcode" 8 NONE UNTRANSLATABLE

.\devel\mci.p .\devel\mci.p 4 STRING "isbn" 4 NONE UNTRANSLATABLE

.\devel\mci.p .\devel\mci.p 4 STRING "------------- -------------" 27 NONE UNTRANSLATABLE

.\devel\mci.p .\devel\mci.p 4 STRING "i-isbn" 6 NONE UNTRANSLATABLE



Any thoughts please?

 

BONO

Member
For me it done a whole index because a <> or NE clausealone mean that the whole table have to be read. Even if it's on index,the whole index have to be read.
 

bendaluz2

Member
Not really relevant to this case, but if you really need to do a <> do it like this

Code:
FIND FIRST book
    WHERE isbn < ""
       OR isbn > ""
    USE-INDEX i-isbn NO-LOCK NO-ERROR.
 
Top