ottimizzare le query? beh io penso si debba fare un discorso utilitaristico... se serve si ottimizzano, se non serve non si spreca tempo in quello...
il discorso invece se usare un api/framework per il database non coinvolge solo le prestazioni, ma di nuovo dipende dal progetto...
resta il fatto che i framework un minimo seri non tolgono la possibilità di scrivere a manina le query percui lì poi si può ottimizzare quanto ti pare ( non è che perchè usi un API allora ti levi del tutto la possibilità di fare query basso livello... ok perdi in portabilità, ma ti segni quelle 4 query che hai ottimizzato basso livello e le riscrivi se devi cambiare db... )