I have a form that uses one data source and one query component. The data set of the data source is the query. Depending on the process, I assign different filter strings to the query during run time. When I run the application, the record access is slow. How can I improve the query execution speed? Is it better to create several query components and just change the data set of the data source at run time?
One of the best ways to increase query performance is to use indexes. You’ll see a marked increase in performance, especially in situations where you’re dealing with hundreds of thousands of records in the table you’re querying. For instance, I had written code to join two tables in Paradox. One table had 1.5 million records in it and the other had maybe a few hundred. When run without indexes on either table, the query took 16 hours to run! But with indexes, the query took less than 1/2 hour! Ouch!
So build some indexes into your base table and you’ll be fine.