abe71a767b
Because of the way DBIx::Class does prepared statements, even innocuous queries such $c->model('DB::Builds)->search({finished => 0}) can be extremely slow. This is because DBIx::Class prepares a PostgreSQL statement select ... from Builds where finished = ? and since Builds is very large and there is a large fraction of rows with "finished = 1", the PostgreSQL query planner decides to implement this query with a sequential scan of the Builds table (despite the existence of an index on "finished"), which is extremely slow. It would be nice if we could tell DBIx::Class that constants should be part of the prepared statement, i.e. select ... from Builds where finished = 0 but AFAIK we can't. |
||
---|---|---|
doc | ||
src | ||
tests | ||
.gitignore | ||
AUTHORS | ||
bootstrap | ||
configure.ac | ||
COPYING | ||
deps.nix | ||
hydra-module.nix | ||
INSTALL | ||
Makefile.am | ||
NEWS | ||
README | ||
release.nix | ||
version |