Look into `WITHOUT ROWID` again
- Langage dominant
- Rust
- Étoiles
- 104
- Forks
- 138
- Merge moyen
- 1 j 13 h
- PR mergées (30 j)
- 56
Description
Quite a few of our tables use `WITHOUT ROWID`. While this can be an improvement in many situations, it can also lead to bloat if not used with care.
As a short summary, for tables with non-integer PK, an integer rowid is automatically created. `WITHOUT ROWID` prevents this from being done.
This _can_ be expensive, especially if there is no covering index (an index which includes all columns). What occurs is that indices and FK now contain a copy of the PK -- which may or may not be large. If the table has a `rowid`, then the `rowid` is used instead -- which is an integer and therefore smaller and faster to compare and evaluate.
We should look into our `WITHOUT ROWID` usage again, and confirm that its being used appropriately.
This is probably not urgent.
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.