So wrong, you always want to know how your database works, you should be tuning your database, and queries against your specific database. Every database has unique technology you can take advantage of and there are performance tuning techniques and design techniques you should be aware of. If you're doing simple INSERT/UPDATE/SELECT then sure, but in a large organization with tons of data that's not gonna cut it.
- SQL is not an artificial layer, an ORM however is
- SQL is a language, it's up to you as a developer to tune your queries against your database (e.g. create and use partitioning, indexes, statistics gathering etc.)
- If your using an ORM just to send data via a native protocol then why use the ORM in the first place?
- Performance tuning is very closely related to how you write your SQL
- This is my opinion but I think almost any usage of an ORM will mostly be bad, no real arguments to support otherwise. Let the database do the work, that's what it's there for.