Assuming that the larger a database gets, the longer it will take to SELECT rows, won’t a database eventually take too long (i.e. annoying to users) to traverse regardless of how optimized it is?
Is it simply a matter of the increasing time being so negligible that there is only a theoretical limit, but no realistic one?
Well, yes, in a manner of speaking. Generally, the more data you have, the longer it will take to find what you’re looking for.
There are ways to dramatically reduce that time (indexing, sharding, etc), and you can always add more hardware. Indexing especially saves you from scanning the whole table to find your result. If you’ve got a simple B-tree index, the worst case should be O(log n).
Apart from theoretical limits, there are also practical ones, for example maximum number of rows per table, but these days those limits are so high that you can almost ignore them.
I wouldn’t worry about it. If you’re using a decent DBMS and decent hardware… with realistic amounts of data, you can always find a way to return a result in an acceptable amount of time. If you do reach the limits, chances are that you’re making money from what you’ve got stored, and then you can always hire a pro to help you out 😉