Letian Jiang created DRILL-8555:
-----------------------------------

             Summary: Physical plan cache for parameterized SQL queries
                 Key: DRILL-8555
                 URL: https://issues.apache.org/jira/browse/DRILL-8555
             Project: Apache Drill
          Issue Type: New Feature
          Components: Query Planning & Optimization
            Reporter: Letian Jiang


h2. Motivation

Repeated queries that differ only in literals are a common workload, yet each 
query currently requires full planning. This adds unnecessary latency and 
wastes CPU time.
h2. Brief Design

Add a per-Drillbit, in-memory plan cache. Drill automatically parameterizes 
eligible SQL queries and reuses a cached physical plan with the current literal 
values, without changes to client queries.
h2. Plan reuse safety
 * *Engine:* matches the SQL template and checks relevant option changes, 
plugin configuration changes, and whether base table versions still match.
 * *Storage plugin:* explicitly opts in, provides a plan-compatible table 
version, and is responsible for rebuilding its predicate-dependent scan work 
from the rebound expressions.

h2. Expected benefit

Short, frequently executed queries such as HBase reads can benefit 
substantially. Analytical queries with significant planning cost can benefit as 
well.
h2. Implementation status

A working implementation is available, including HBase, Paimon and Iceberg 
integrations. A pull request will follow.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to