Deimos 47657c988e Extend topic indexes for keyset pagination
The "keyset"-style pagination that Tildes uses for topic listings uses
WHERE and ORDER BY clauses that involve multiple columns to keep a
deterministic ordering even when the values in the main sort column are
equal. For example, when sorting by number of votes, you're actually
ordering by num_votes DESC, topic_id DESC. The previous single-column
indexes were a little inefficient for this and couldn't always be used
well.

This commit extends all of the relevant indexes to composite ones that
contain topic_id as well, and drops all of the original ones. This
should be more efficient, and should probably be done to indexes on the
comments table as well.
2020-01-15 14:10:10 -07:00
2019-09-26 12:10:49 -06:00

Tildes

This is the code behind Tildes, a non-profit community site. The official repository is located on GitLab at https://gitlab.com/tildes/tildes

For general information about Tildes and its goals, please see the announcement blog post and the Tildes Docs site.

Issue tracker / plans

Known issues and plans for upcoming changes are tracked on GitLab: https://gitlab.com/tildes/tildes/issues

The "board" view is useful as an overview: https://gitlab.com/tildes/tildes/boards

Contributing to Tildes development

Please see the Contributing doc for more detailed information about setting up a development version of Tildes and how to contribute to development.

License

Copyright (c) 2018 Tildes contributors code@tildes.net

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.

Description
No description provided
Readme AGPL-3.0 2.8 MiB
Languages
Python 68.1%
Jinja 14.8%
SCSS 12%
JavaScript 2.9%
PLpgSQL 1.6%
Other 0.5%