Hi Devs,
*For the given query:*
SELECT VALUE t.text
FROM ITweets as t
WHERE t.tid = 100
*The optimized plan:*
distribute result [$$6]
-- DISTRIBUTE_RESULT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
project ([$$6])
-- STREAM_PROJECT |PARTITIONED|
assign [$$6] <- [$$t.getField("text")]
-- ASSIGN |PARTITIONED|
project ([$$t])
-- STREAM_PROJECT |PARTITIONED|
select (eq($$7, 100))
-- STREAM_SELECT |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
data-scan []<-[$$7, $$t] <- FlatDataverse.ITweets
-- DATASOURCE_SCAN |PARTITIONED|
exchange
-- ONE_TO_ONE_EXCHANGE |PARTITIONED|
empty-tuple-source
-- EMPTY_TUPLE_SOURCE |PARTITIONED|
Do we always do a scan and then filter the result, even though the query
predicate is on the primary key?
--
*Regards,*
Wail Alkowaileet