diff options
author | Christopher Baines <mail@cbaines.net> | 2020-05-25 15:12:07 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-06-09 19:58:29 +0100 |
commit | 78986d962352f3d5e092c441d5f6e0b1200de957 (patch) | |
tree | 19f6b34fbc2ad47184759ae884bdb4893fcc62c6 /examples | |
parent | 9265949cf669b9e861bc85a1f1c3954cf4e216cc (diff) | |
download | cuirass-78986d962352f3d5e092c441d5f6e0b1200de957.tar cuirass-78986d962352f3d5e092c441d5f6e0b1200de957.tar.gz |
database: Begin tuning db-get-builds for performance.
This commit does several things, the big change is to try and construct a
simpler query for SQLite. I'm not confident that SQLite's query planner can
look past handling the NULL parameters, so I think it could be helpful to try
and create a simpler query, both to avoid that problem if it exists, but also
move the complexity in to Guile code, which I think is a bit more manageable.
The way ordering is handled is also changed. Order is one of the filters,
although it's not a filter, and some of the other filters also influenced the
order. I think there are things still to fix/improve with the handling of
ordering, but at least this commit just has the ordering happen once in the
query.
* src/cuirass/database.scm (filters->order): Remove procedure, inline in to
db-get-builds.
(db-get-builds): Change query generation in an attempt to make it easier to
tune the queries for performance.
Diffstat (limited to 'examples')
0 files changed, 0 insertions, 0 deletions