that's it in a nutshell, yes !!!
no, you can't make that conclusion -- of course it would be a benefit, but it isn't necessary
building something that's efficient does not require an understanding of internals, just a good understanding of indexes
oh, and by the way, databases are not efficient or inefficient in and of themselves -- efficiency really has no meaning unless you're talking about the SQL statements, not the database, despite the fact that you must do certain things in the database (like declare indexes) to make specific queries efficient
did you notice how many times in this thread i talked about indexes?