cache getUsedColumnsForQuery for qoq-hsqldb

Description

QoQ with HSQLB creates a view to determine which source columns are used for a query.

This is an optimization for working with larger source queries to avoid loading unused columns into the temporary database used for executing the QoQ.

This involves creating a view and reading the view metadata, which adds some overhead.

This can be cached, using the actual sql and create table sql as a key (column types in lucee queries can change as data is added https://luceeserver.atlassian.net/issues/LDEV-4564 )

Goal is to address the performance regression as seen on testlab

 

Attachments

2

relates to

Activity

Show:

Zac Spitzer 7 December 2024 at 08:30
Edited

 

Zac Spitzer 19 November 2024 at 15:06
Edited

with 320k rounds, I get 8.2k rps with the patch, vs 6.1k rps before

Fixed

Details

Assignee

Reporter

New Issue warning screen

Before you create a new Issue, please post to the mailing list first https://dev.lucee.org

Once the issue has been verified, one of the Lucee team will ask you to file an issue

Sprint

Fix versions

Priority

Created 19 November 2024 at 15:04
Updated 6 January 2025 at 17:08
Resolved 6 January 2025 at 17:08