[ 
https://issues.apache.org/jira/browse/IGNITE-11756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16835625#comment-16835625
 ] 

Roman Kondakov commented on IGNITE-11756:
-----------------------------------------

Local statistics was implemented by overriding method 
{{GridH2IndexBase#getRowCountApproximation}} which is used by H2 optimizer in 
order to estimate plan cost.
Row count statistics is cached to avoid recalculation on each method 
invocation. This cache is invalidated on each table size changes.

> SQL: implement a table row count statistics for the local queries
> -----------------------------------------------------------------
>
>                 Key: IGNITE-11756
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11756
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Roman Kondakov
>            Assignee: Roman Kondakov
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Row count statistics should help the H2 optimizer to select the better query 
> execution plan. Currently the row count supplied to H2 engine is hardcoded 
> value == 10000 (see {{org.h2.index.Index#getRowCountApproximation}}).  As a 
> first step we can provide an actual table size in the case of local query. To 
> prevent counting size on each invocation we can cache row count value and 
> invalidate it in some cases:
>  * Rebalancing
>  * Multiple updates (after the initial loading)
>  * On timeout (i.e. 1 minute)



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to