title: Mysql: deleting rows vs. using a "removed" column
body: <p>I was previously under the impression that deleting rows in an autoincremented table can harm SELECT performance, and so I've been using a tinyint column called "removed" to mark whether an item is removed or not.</p>
  
  <p>My SELECT queries are something like this:</p>
  
  <pre><code>SELECT * FROM items WHERE removed = 0 ORDER BY id DESC LIMIT 25
  </code></pre>
  
  <p>But I'm wondering whether it does, in fact, make sense to just delete those rows instead. Less than 1% of rows are marked as "removed" so it seems dumb for mysql to have to check whether removed = 0 for each row.</p>
  
  <p>So can deleting rows harm performance in any way?</p>