Lars Hofhansl created PHOENIX-1304:
--------------------------------------

             Summary: Customize "full scan" behavior
                 Key: PHOENIX-1304
                 URL: https://issues.apache.org/jira/browse/PHOENIX-1304
             Project: Phoenix
          Issue Type: Improvement
            Reporter: Lars Hofhansl
            Priority: Minor


Most databases by default avoid filling the block cache during full scans.
Typically either stats are consulted to decide whether a full scan should fill 
the blockcache, or a subset of the block cache is dedicated to full scan using 
the cache like a ring buffer.

We already have the "NO_CACHE" hint, but we can do better.

In Phoenix we could detect scans that neither use any parts of the key nor any 
indexes and then optionally:
# avoid using the blockcache
# throw a "slow query" exception (this is especially useful for large data set, 
where we'd rather fail than go into a nirvana for an hour)

(both configurable - either globally or per table or connection or query)

Skip scans represent an interesting middle ground. If we skip many blocks 
between rows we'd definitely benefit from the blockcache, if not we have a case 
similar to a full scan.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to