Why is my query slow or unresponsive?

The order of operations, excessive row change notifications, inefficient memory use, etc. may all slow down a query.

The Query Config panel includes relevant information about a query's status, but the QueryOperationPerformanceLog in DbInternal provides further performance details on query operations, such as duration and memory usage.

QOPL = db.i("DbInternal", "QueryOperationPerformanceLog")

Each query is broken up into its component parts, allowing in-depth understanding of the performance impacts of each individual operation for a query.

If a query is not updating as quickly as expected, or the UI seems slow, you can view the UpdatePerformanceLog in DbInternal for information about incremental update operations in the Live Table Monitor loop.

UPL = db.i("DbInternal", "UpdatePerformanceLog")

Both of these tables include a "Description" or "EntryDescription" column with human-readable information. For example, you can see when tables or partitions have been added, deleted, or moved. The majority of the entries in this column indicate each operation performed on a table (e.g., join, sort, where), and looking across the row to columns such as "Duration" or "WasInterrupted" may determine which specific operations are slow and offer hints as to how to resolve the issue.

For more troubleshooting strategies, see our Troubleshooting Queries guide.


Last Updated: 25 February 2020 08:25 -05:00 UTC    Deephaven v.1.20200121  (See other versions)

Deephaven Documentation     Copyright 2016-2020  Deephaven Data Labs, LLC     All Rights Reserved