use-index

avoid using USE-INDEX

Rule "use-index" gives this warning whenever it finds
the USE-INDEX keyword in the source.

the risc:

If you specify USE-INDEX, Progress will not
automatically select an index for you. The automatic
index selector is believed to be very good.

Even if you manually picked the best index there is
still a risc: this index will still be used after the
database schema gets changed, even if another index would
be better at that time.

As I understand it (correct me if I am wrong) there
are two query engines in Progress: the "old" one (already existed in V6) and the "new" one which is highly
optimized for joins and supports multi-bracketing.
If you specify USE-INDEX you
force Progress to use the "old" query engine, so
performance may actually be worse than without the USE-INDEX
option. There are even folks who say that if Progress would
automatically pick a different index than you would,
then either you picked the wrong one or the indexes
in the database schema are not well-defined...

how to solve this:

Delete the USE-INDEX option, then compile and look at the
XREF output: Progress shows here which index (or
indexes) it has selected.

How to suppress these warnings:

You can put directive {&_proparse_ prolint-nowarn(use-index)} directly before
the statement.
See also: suppress warnings.