Get only some fields with EntityFieldQuery? Drupal 7 has very promising ORM-like system of queries with EntityFieldQuery.

Currently, I understand how to make selection of nodes, but the result doesn't contain any specific information, like fileds, I'm looking for.

$query = new EntityFieldQuery();
$entities = $query-&gt;entityCondition('entity_type', 'node')
                        -&gt;entityCondition('bundle', 'event')
                        -&gt;propertyCondition('status', 1)
                        -&gt;fieldCondition('field_date', 'value', array('2011-03-01', '2011-03-31'), 'BETWEEN')
                        -&gt;fieldOrderBy('field_date', 'value', 'ASC')
                        -&gt;execute();


So we need to load entire data of nodes, if we would like to get only values of one field, for example 'field_date' in current example.

$nodes = entity_load('node', array_keys($entities['node']));


If there is a way to get the value of fields, instead to load full data of all nodes, as it provokes some memory overload.

$nodesFieldDates = ???
Great question! 

EntityFieldQuery  is truly good stuff,  but if you really want to get serious, you have to override the class in a custom module and add whatever behavior you need done in there.

I don't know your exact intentions, but I have referred myself to this article on the subject in the past.  Credits to Neil Hastings for this well written write-up. 

Look for code examples a bit into the article for nice examples of overiding.

Hope that helps, happy coding!