diff options
author | Jordan Lewis <jordanthelewis@gmail.com> | 2017-01-19 15:29:17 -0500 |
---|---|---|
committer | Jordan Lewis <jordanthelewis@gmail.com> | 2017-01-30 11:27:04 -0500 |
commit | f9c6cbd55c56de7994b74630acd141c324411719 (patch) | |
tree | 714d0b6a3dd14b3e765cfda634fb6987ce4809ed /tools | |
parent | d5651436d64c1a3f0b95910cb66c13bb29229f46 (diff) | |
download | rails-f9c6cbd55c56de7994b74630acd141c324411719.tar.gz rails-f9c6cbd55c56de7994b74630acd141c324411719.tar.bz2 rails-f9c6cbd55c56de7994b74630acd141c324411719.zip |
Simplify Postgres query for column_definitions()
column_definitions() needs to fetch the collation for every column, if
present. Previously, it did so using a correlated subquery - a subquery
that references results from the outer scope.
This patch updates the query to remove the subquery in favor of a
simpler and more efficient JOIN clause.
Running the two queries through EXPLAIN against Postgres additionally
shows that the original form with a correlated subquery requires a
Nested Loop Left Join, while the new form with a simple JOIN can use a
more efficient Merge Left Join.
Diffstat (limited to 'tools')
0 files changed, 0 insertions, 0 deletions