Hi Tom
You're seeing the delay in the back based on the new type of "select" statement you're having to use. More than likely, whatever database (iSeries DB2/400 ?) is having to choose the optimal method for the select that you've requested. Its checking to see what indexes have been built to identify the right path to use, if any. On an iSeries its looking for Logical Files and creating SQL Packages to help the query.
Add into the network latency for the initial select, until the first set of rows are being returned and the bandwidth between the client, the web server and the enterprise server - and that pretty much is going to incorporate the entire delay.
So - on a "find" on the P42101 - you click the button. The web client sends the command to the HTML server. The HTML Server then processes this request and creates "JDB" database query logic. This then gets passed to the middleware that converts it to the correct SQL that is needed for the database type used. Don't forget it also checks security records in memory to ensure that you're allowed to see the data. Then the fully structured SQL is passed via JDBC to the database. The database engine then picks up the query, and breaks down the query to identify what indexes/temporary files/memory to use. Once it does that, it grabs the first few rows. Once the "select" has occurred - then the database returns information to the Application Server to update it to say it is "ready" to send the data requested. At this point the "processing" wheel is then displayed, and the server then performs "fetch next" for each grid row. Once the grid rows are selected, then the "processing" wheel logic ends. When the user hits "page down" - the session is still open, so the initial SQL Select doesn't need to occur - and it instantly starts showing the "processing" logic.
Now, SQL connections are also shared using JDBC - so it also might be that the SQL Statement HAS already been created and is available on the database server side, thereby for those times, the "processing" wheel is instantaneous.
I hope that kind of explains it all. To really dig down and find out if there is an issue, you might have to turn full debug on to identify where the "gap" is at the application server level for the session, and use Performance Workbench to identify if its the database server or not. Especially long periods of delay might also be to do with incorrect JDBC settings, incorrect Client Access settings or a bug in the tools release somewhere along the line. It might also be affected by too row level security if its being used.