Hi,
index range is an optimizer strategy which tells you that an index is used but the indexed columns are not completely qualified or we have like or range conditions in the where condition. So a range has to be executed on the index ( start and stop key) and all rows (Primary keys) which are affected in the index range have to be read on the table.
The optimizer must read more rows to find the qualified records which belong to the result.
So we have rows read > rows qualified.
This could be a hint that with an additional index the access could be optimized.
But it could be as well the best strategy if eg. you have a like or a range condition in the where condition on an indexed column then always a range has to be executed - which is fine in this case.
If there is a huge difference between rows read > and rows qual then a warning is sent in the DB-Analyzer.
SQL Optimization is a very complex issue - to get familiar with the ooptimizer I recommend to use Expert Session
16 (1) and 16(2) about SQL Optimizer - you 'll find the recording and slides here: SAP MaxDB: The SAP Database - Training for download.
You can use the Command Monitor to catch those SQL commands which are executed via index range. Then you could analyze the where condition of these statements. May be you find a better index definition for those SQL commands.
Finally those messages in DB-Analyzer are a hint that a SQL Performance Analysis could reduce the workload of the system if suitable new indexes can be created.
Regards, Christiane