6.8.7 Best Practices for Tuning PGQL Queries
This section describes best practices regarding memory allocation, parallelism, and query planning.
- Memory Allocation
The In-Memory Analyst (PGX) hason-heapandoff-heapmemory, the earlier being the standard JVM heap while the latter being a separate heap that is managed by PGX. Just like graph data, intermediate and final results of PGQL queries are partially stored on-heap and partially off-heap. Therefore, both heaps are needed. - Parallelism
By default, all available processor threads are used to process PGQL queries. However, if needed, the number of threads can be limited by setting theparallelismoption of the In-Memory Analyst (PGX). - Query Plan Explaining
ThePgxGraph.explainPgql(String query)method is used to get insight into the query plan of the query. The method returns an instance ofOperation (package oracle.pgx.api)which has the following methods: