This section includes advanced querying topics such as using query indexes, using query bind parameters, querying partitioned regions and query debugging.
This topic covers considerations for improving query performance.
Monitoring Low Memory When Querying
The query monitoring feature prevents out-of-memory exceptions from occurring when you execute queries or create indexes.
Timeouts for Long-Running Queries
Configure a timeout value for long running queries, such that they do not complete, and Tanzu GemFire throws an exception when a query runs for longer than the configured value.
Using query bind parameters in Tanzu GemFire queries is similar to using prepared statements in SQL where parameters can be set during query execution. This allows you to build a query once and execute it multiple times by passing the query conditions during run time.
A query may return different results depending on the member on which it is executed.
Tanzu GemFire allows you to manage and store large amounts of data across distributed nodes using partitioned regions. The basic unit of storage for a partitioned region is a bucket, which resides on a Tanzu GemFire node and contains all the entries that map to a single hashcode. In a typical partitioned region query, the system distributes the query to all buckets across all nodes, then merges the result sets and sends back the query results.
You can debug a specific query at the query level by adding the <trace>
keyword before the query string that you want to debug.