framework/extensions
Toby Zerner 0ce00c6d16 Performance: Refactor SQL that pins unread sticky posts to the top
Ordering by `is_sticky and (unread subquery) desc` removes MySQL's
ability to use an index for ordering by `last_time`, which triggers a
filesort across the whole discussions table which is BAD.

This commit uses a union to add all stickied discussions to the query.
The results of the unioned queries are then ordered by the `is_sticky
and (unread subquery)` criteria, so the filesort only takes place on
a maximum of limit * 2 rows. Big performance win when you get up to
thousands of discussions!
2017-11-12 21:28:17 +10:30
..
sticky Performance: Refactor SQL that pins unread sticky posts to the top 2017-11-12 21:28:17 +10:30