ironic/releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml
Julia Kreger 6bbd03b17c Use selectinload for all list queries
Since node objects *can* be large, and due to the nature of joined
record dedeuplication, we should avoid them for list operations to
speed the operation to completion by *instead* allowing the client
to execute three queries and reconcile versus dedeuplicate the
single node.

This *should* result in generally faster list interaction, and
preserves the behavior for nodes at this time in order to
minimize a drastic increase of SQL queries for individual nodes.

Change-Id: Iac457e483068f613ded2aeff60cf6d9fc64a7dac
2021-07-07 08:43:54 -07:00

17 lines
757 B
YAML

---
upgrade:
- |
The query pattern for the database when lists of nodes are retrieved has
been changed to a more efficient pattern at scale, where a list of nodes
is generated, and then additional queries are executed to composite this
data together. This is from a model where the database client in the
conductor was having to deduplicate the resulting data set which is
overall less efficent.
other:
- |
The default database query pattern has been changed which will result
in additional database queries when compositing lists of ``nodes``
by separately querying ``traits`` and ``tags``. Previously this was a
joined query which requires deduplication of the result set before
building composite objects.