> paying-user table index-free
Presumably, that means they created a new table intended to be straight-joined back to the user table. No need to search a column.
Presumably, that means they created a new table intended to be straight-joined back to the user table. No need to search a column.
So it was probably being joined by an indexed column, but without an explicitly defined index.
In this case, the premium user table only needs the user id primary key/surrogate key because it only contains premium users. A query starting with this table is naturally constrained to only premium user rows. You can think of this sort of like a partial index.
One consequence of this approach is that queries filtering only for non-premium users will be more expensive.