I used to have the impression that deleting rows in a table with auto-increments could hurt SELECT performance, so I used a tinyint column called "remove" to indicate whether the item was deleted or not.
My SELECT queries look something like this:
SELECT * FROM items WHERE removed = 0 ORDER BY id DESC LIMIT 25
But I wonder if it really makes sense to just delete these lines. Less than 1% of the rows are marked as "deleted", so it seems that for mysql it seems like you need to disable = 0 for each row.
So can in any way delete rows that affect performance?
source share