- 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.