[
https://issues.apache.org/jira/browse/IGNITE-8385?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-8385:
------------------------------------
Labels: iep-19 performance (was: performance)
> 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)