ORMs are a case of "good enough for most," however, I have seen ridiculously dramatic increases in performance when dealing with millions of DB rows by using SQL and stored procedures. By design, it's pretty much impossible for an ORM to ever reach such levels of performance since they need to be generic enough to work across various RDMS systems and so forth.