Query of Query Sucks; upgrade hsqldb

Continuing the discussion from 2018 - September I Love Lucee:

Three reasons you shouldn’t use “Query of Queries”:

  1. it is slow
  2. it is slow, and;
  3. it is slow

h/t @micstriit

Version 2.4.1 is fully multithreaded and supports high performance 2PL and MVCC (multiversion concurrency control) transaction control models.

I always thought one of the reasons QofQ was slow is it gets single threaded under HSQLDB 1.8.0. Would upgrading to use 2.4.1 give us access to multithreaded support?

Is it worth upgrading the HSQLDB engine Lucee uses for this feature? Or are we better off to keep coding it out of existence?

To be honest i thought we’d already upgraded? Or is this just a reference to the embedded database and JDBC driver that is available?

I could write a big bullshit, but updating hsqldb from version 1.8.0 to version 2.4.1 could you have a speed improvement with QoQ? :nerd_face:


I’d also be interested in what improvements could be made to QoQ to speed things up. We are stuck with it for A LOT of work as one of our main functions is using Lucee as middleware to connect disparate systems that use several different db’s as back ends (e.g. MySQL, FoxPro, Oracle, etc.)

The only way I know of joining resultsets is through QoQ.


oh, hsqldb 1.8.0 was released 10 years ago, i doubt there have been any performance improvements since then :sunglasses:


However, the slowness of Adobe ColdFusion 2018 is really embarrassing. :laughing: :face_with_hand_over_mouth:

Lucee5: https://trycf.com/gist/76ce7e81f2c45cd2f260474aad9c6167/lucee5?theme=monokai

ACF2018: https://trycf.com/gist/76ce7e81f2c45cd2f260474aad9c6167/ACF2018?theme=monokai