[ 
https://issues.apache.org/jira/browse/IGNITE-8385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vladimir Ozerov updated IGNITE-8385:
------------------------------------
    Summary: SQL: Allow variable-length values in index leafs  (was: SQL: allow 
variable-length values in index leafs)

> SQL: Allow variable-length values in index leafs
> ------------------------------------------------
>
>                 Key: IGNITE-8385
>                 URL: https://issues.apache.org/jira/browse/IGNITE-8385
>             Project: Ignite
>          Issue Type: Task
>          Components: sql
>    Affects Versions: 2.4
>            Reporter: Vladimir Ozerov
>            Priority: Major
>              Labels: iep-19, performance
>             Fix For: 2.6
>
>
> Currently we have a restriction that every entry inside a BTree leaf should 
> be of fixed size. This restriction is artificial and prevents efficient index 
> usage because we have to choose so-called {{inline size}} for every index 
> manually. This is OK for fixed-size numeric types. But this could be a 
> problem for varlen types such as {{VARCHAR}} because in some cases we cannot 
> fit the whole value and have to fallback to data page lookup. In other cases 
> we may pick too pessimistic inline size value and index space would be 
> wasted. 
> What we need to do is to allow arbitrary item size in index pages. In this 
> case we would be able to inline all necessary values into index pages in most 
> cases. 
> Please pay attention that we may still met page overflow in case too long 
> data types are used. To mitigate this we should:
> 1) Implement IGNITE-6055 first so that we can distinguish between limited and 
> unlimited data types.
> 2) Unlimited data types should be inlined only partially
> 3) We need to have special handling for too long rows (probably just re-use 
> existing logic with minimal adjustments)



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

Reply via email to