Question:
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?
Answer:
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.