phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lars Hofhansl (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-1304) Auto-detect if we should pass the NO_CACHE hint
Date Tue, 21 Jun 2016 00:54:57 GMT


Lars Hofhansl commented on PHOENIX-1304:

Maybe I'm missing something in the patch. It looks like we're not using the actual guidposts
touched by the query, but only going by the <guidePostDepth of the table> * <number
of scans>. Am I misreading the patch?

> Auto-detect if we should pass the NO_CACHE hint
> -----------------------------------------------
>                 Key: PHOENIX-1304
>                 URL:
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Lars Hofhansl
>            Assignee: Samarth Jain
>            Priority: Minor
>         Attachments: wip.patch
> 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

View raw message