]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
perf improvements related to corresponding_column (2)
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 14 Nov 2022 02:48:53 +0000 (21:48 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Tue, 15 Nov 2022 19:16:06 +0000 (14:16 -0500)
commitd5be2cc1391d0ff4b21557b036eba4713fde7bcf
treea50189a0e7cf8d8ff7f9d1081246d746347e1951
parent93dc7ea1502c37793011b094447641361aff5aba
perf improvements related to corresponding_column (2)

commit two of two. this reorganizes ColumnCollection
to build a new index up front that's used to optimize
the corresponding_column() method.

Additional performance enhancements within ORM-enabled SQL statements,
specifically targeting callcounts within the construction of ORM
statements, using combinations of :func:`_orm.aliased` with
:func:`_sql.union` and similar "compound" constructs, in addition to direct
performance improvements to the ``corresponding_column()`` internal method
that is used heavily by the ORM by constructs like :func:`_orm.aliased` and
similar.

Fixes: #8796
Change-Id: I4a76788007d5a802b9a4081e6a0f6e4b52497b50
doc/build/changelog/unreleased_20/8796.rst [new file with mode: 0644]
lib/sqlalchemy/sql/base.py
lib/sqlalchemy/sql/cache_key.py
lib/sqlalchemy/sql/elements.py
lib/sqlalchemy/sql/schema.py
lib/sqlalchemy/sql/selectable.py
test/aaa_profiling/test_memusage.py
test/base/test_utils.py
test/orm/test_cache_key.py
test/profiles.txt
test/sql/test_selectable.py