Performance when loading lots of Elements but only need limited data The performance of the ElementCriteriaModel for lookups is killing me.

I have 300 or so "People" entries in a craft site and trying to load them just for a basic listing page takes forever. There's just so much overhead.

In this case of i.e. a listing page, I need the entry title, slug and an image field (which I'm eager loading). I don't need all of the other fields and overhead it loads.

Is there a way to get more acceptable performance for cases like this specific one (listing page with large number of entries and limited data needed)? Or am I going to have to bypass the element criterea stuff and do the lookups myself in SQL?

Thanks
Not in Craft 2 without completely bypassing ElementCriteriaModel and building your own SQL query.

In Craft 3 (currently in beta) you can, though – you can override which columns get selected in your element queries, and you can choose whether you want the data returned as element models or just plain arrays.

{% set entries = craft.entries
    .section('news')
    .select('elements.id', 'content.title')
    .asArray()
    .all() %}