Share via


Data Location on the Optimal Platform

You get maximum performance when you store data and other attributes of your database on the optimal platform. The best platform for a particular element depends on how the element is accessed and updated. For example, you might want to store a local copy of a server table, such as a postal code directory that is used as a lookup table, and refresh the local copy only when the back-end table changes.

The following table lists some common application elements and examples of where to locate them for optimal performance.

Locating Elements by Platform

Element

Location

Type

Notes

Tables

Local

Local copies of server lookup tables; small, infrequently changed tables

Use a time stamp, if supported by your remote server, to compare and optionally refresh the local table to match any changes to the back-end source table.

 

Remote

Large or frequently changing tables

 

Rules

Local

Rules on remote views

You can use DBSETPROP( ) to store field- and record-level rules on a remote view. Your application can use these local rules to check the validity of data before sending the data to the back-end as an update to remote tables.

 

Remote

Row-level and column-level rules on remote base tables

 

Stored procedures

Local

Visual FoxPro stored procedures

 

 

Remote

Stored procedures on a remote server

Use the SQL pass-through SQLEXEC( ) function to call stored procedures on a remote server.

Transactions

Local

Visual FoxPro transactions

 

 

Remote

Server transactions

 

Triggers

Local views

No triggers on views

 

 

Remote

Server triggers

 

To reduce network traffic during lookups, you can choose to store not only infrequently changing but also frequently changing lookup tables locally. For example, you can download your company's customer list and refresh it only when customer information changes.

To accomplish this, you can program your application to compare the time stamp on the local copy of the table with the time stamp on back-end data (if your remote server supports time stamps) and update the local copy only if the server table has changed. You can also add a command button to your form that forces an immediate download of the table, allowing users to refresh their copy of the local table on demand.

See Also

Concepts

Performance Enhancement through Set-Based Data Access

Selecting the Right Methods

Rapid Application Development

Client/Server Design for High Performance

Other Resources

Planning Client/Server Applications

Optimizing Client/Server Performance

Enhancing Applications Using SQL Pass-Through Technology