Hi,

I was debugging ignite sql execution code for following query.

SELECT id, moduleId,ipEnd, ipStart
FROM IpContainerIpV4Data USE INDEX(ip_container_ipv4_idx1)
WHERE subscriptionId = ?  AND moduleId         = ? AND (ipStart        <= ?
AND ipEnd           >= ?)
UNION ALL
SELECT id, moduleId,ipEnd, ipStart
FROM IpContainerIpV4Data USE INDEX(ip_container_ipv4_idx1)
WHERE subscriptionId = ? AND moduleId         = ? AND (ipStart        <= ?
AND ipEnd           >= ?)
UNION ALL
SELECT id, moduleId,ipEnd, ipStart
FROM IpContainerIpV4Data USE INDEX(ip_container_ipv4_idx1)
WHERE subscriptionId = ? AND moduleId         = ? AND (ipStart        >= ?
AND ipEnd           <= ?)

I found that ignite splits this union query into 3 different map queries
and then creates GridMergeTable. [code::
GridReduceQueryExecutor.createMergeTable]. But could not spend more time on
debugging.

Is this a in-memory temp table or real table created in H2 DB in file
system.

Can some please explain this?

If it is In memory table then how does ignite handle and merge/sort/group
large results sets which does not fit into application heap ?

Thanks,
Prasad

Reply via email to