asami 2022-03-10

The plan is actually just a re-ordering of the constraints. They're then executed left-to-right

The ordering is based on the data, so if a particular constraint would return a large number of items, then it gets pushed back in the execution order. If it's a small result, then it's pulled to the front

So you want to cache based on transaction and query. Once you have that result, the query execution is lazy, and you can return as soon as the first lookup is done

Oh I see. So the plan can be returned independently and executed partially?