+2  A: 
Ryan Bigg
Hi Ryan, thanks for your response. Well, this isn't so much about "scaling" right now as it is "trying to avoid a future known slowdown" that comes when a table gets large (e.g. has more than a million records or so). The table isn't slow now, there's only been test data in there so far. Splitting the books table into, say, 5 tables means indexing performance will stay up for (theoretically) 5 times as long. The books belong to each user, not to all users, and each user can only see their own books, so I only have to search one table (e.g. 'Books3') for a particular user.
mikep
Just an update: I've changed from `books` to `todo_items` since I think that makes more sense for the illustration. The books were just an example. It's not actually `books` or `todo_items,` but `todo_items` makes more sense here, since todo_items are usually private. (I'm just posting this as a comment here so that other readers don't think you misread the post or something. Your response was valid for the original post - thanks again!) Also, since I didn't mention it before, the tables do have proper indexing set up on the fields that will be searched.
mikep