issues: 944870799
This data as json
| id | node_id | number | title | user | state | locked | assignee | milestone | comments | created_at | updated_at | closed_at | author_association | pull_request | body | repo | type | active_lock_reason | performed_via_github_app | reactions | draft | state_reason |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 944870799 | MDU6SXNzdWU5NDQ4NzA3OTk= | 1394 | Big performance boost on faceting: skip the inner order by | 9599 | closed | 0 | 4 | 2021-07-14T23:32:29Z | 2021-07-16T02:23:32Z | 2021-07-15T00:05:50Z | OWNER | I just noticed something that could make for a huge performance improvement in faceting. The default query used by Datasette when faceting looks like this:
Note that there's a I had assumed SQLite would optimize this away - but it turns out it doesn't! Consider this version of the query, with that pointless order by removed:
I tried this optimization on a table with 2.5m rows in it - without the optimization it took 5 seconds, with the optimization it took 450ms. So this is a very significant improvement! |
107914493 | issue | {
"url": "https://api.github.com/repos/simonw/datasette/issues/1394/reactions",
"total_count": 2,
"+1": 1,
"-1": 0,
"laugh": 0,
"hooray": 1,
"confused": 0,
"heart": 0,
"rocket": 0,
"eyes": 0
} |
completed |