# How lazy is qseq?

**URL:** <https://forum.datomic.com/t/how-lazy-is-qseq/1457>\
**Category:** General\
**Created:** [May 18, 2020, 6:04pm UTC](https://forum.datomic.com/t/how-lazy-is-qseq/1457 "2020-05-18T18:04:02Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![courajs](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.datomic.com/courajs/32/413_2.png) [@courajs](https://forum.datomic.com/u/courajs)\
**Post date:** [May 18, 2020, 6:04pm UTC](https://forum.datomic.com/t/how-lazy-is-qseq/1457/1 "2020-05-18T18:04:03Z")

</div>

Does it:

- Determine all entity ids immediately, then lazily pull?  
Or,
- Execute queries incrementally, without realizing intermediate sets at all?

---

<div class="post-metadata">

**Author:** ![jaret](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.datomic.com/jaret/32/45_2.png) [@jaret](https://forum.datomic.com/u/jaret)\
**Post date:** [May 19, 2020, 5:12pm UTC](https://forum.datomic.com/t/how-lazy-is-qseq/1457/2 "2020-05-19T17:12:27Z")

</div>

Hi @courajs

I’ll point you to a couple of choice quotes from our docs on qseq and confirm for you that your first assumption is correct. Qseq determines all entity ids immediately, then lazily pulls.

[https://docs.datomic.com/cloud/query/query-executing.html#qseq](https://docs.datomic.com/cloud/query/query-executing.html#qseq)

> Item transformations such as ‘pull’ are deferred until the seq is consumed

And

> qseq is a variant of q that pulls and xforms lazily as you consume

Thanks,  
Jaret
