asterixdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Wail Alkowaileet <wael....@gmail.com>
Subject Primary key lookup plan
Date Sun, 03 Dec 2017 23:49:33 GMT
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

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message