serverExecution Method Option

The serverExecution method option historically was used a lot, prior to the introduction of Jade thin client. Jade nodes (fat clients) were on people's workstations and it was indeed a long way to go over the network to the database server. Saving trips to the server was much more important back then, and saving trips is primarily what this method option is used for.

Nowadays, most end‑users are on thin clients and most nodes are on the same physical machine as the database server, using the HPSM or JadeLocal transport (shared memory). Saving trips to the server is not nearly as important now. However, it still can be important.

In Jade 6, excessive use of serverExecution could result in node contention, especially if large numbers of objects were being fetched from the database. With Jade 7 and higher, that node contention is effectively removed, meaning that you can feel more free to use serverExecution.

The serverExecution method option is useful in the following situations.

However, be aware that there are some pitfalls, including the following.

The serverExecution method option is more useful than ever, but measure the difference it makes, if at all possible.

However, beware of the effects of micro‑benchmarking (see "Micro‑Benchmarking – Measure as You Go", earlier in this document). In addition, a server execution test will clearly run faster when no one else is using the database. It might be a lot slower during normal production, when the database is more‑heavily loaded.