Skip to content

Client Only and Temporary Index Performance

It is your responsibility as the developer to determine if client only or temporary indexes are appropriate for your environment. Here are some considerations:

  • The DataFlex style of record finding involves a lot of single row (record) finding. An application needs to be able to find an exact record (Find EQ and relate) quickly. Often, user-driven searching for data involves jumping around in a table. This all works best when the server has a server index that will directly find the row you are looking for. When in doubt, use server indexes.

  • Client only and temporary indexes can work quite well when you are jumping into a table and then finding a set of rows with a Find GT/LT loop. When used this way, a single statement is used to find, filter, and sort the row set. In such a case, a client only or temporary index can be more efficient than trying to find, filter, and sort the records in your application.

  • When using client only and temporary indexes, you must consider scalability. The larger the tables, the less effective this becomes. This is the big difference between server and client only/temporary indexes. With server indexes, you can test performance with a small set of data and expect that this performance will stay the same as your tables get larger. This is one of the advantages of the DataFlex style of application development.

  • On the other hand, don't underestimate how well client only indexes perform. Properly configured SQL Database Servers are remarkably powerful and quite scalable.

  • Try it and test it – this is the only way you will know if this technique is appropriate.

See Also

SQL Indexes