If a query does not modify data, executes in READ COMMITTED isolation, and contains some form of aggregation or ORDER BY , it can be automatically parallelized. Parallelization typically splits the query's outermost LOOP into approximately equal size chunks, which are independently evaluated each on its own thread. The results are merged together when all are ready, and are combined in an aggregation or ORDER BY . This is entirely transparent to the user.