[
https://issues.apache.org/jira/browse/IGNITE-8384?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-8384:
------------------------------------
Description:
Currently we sort entries in secondary indexes as {{(idx_cols, KEY)}}. The key
itself is not stored in the index in general case. It means that we need to
perform a lookup to data page to find correct insertion point for index entry.
This could be fixed easily by sorting entries a bit differently - {{idx_cols,
link}}. This is all we need.
UPD: If we have an affinity keys, then affinity column will be added to
secondary index as well.
So, we'll have secondary index as {{(idx_cols, KEY, AFF_COL)}}
Comparison occur here:
{{org.apache.ignite.internal.processors.query.h2.database.H2Tree#compare}}
What we need is to avoid adding PK and affinity key columns to every secondary
index and compare links instead in this method.
Probably we need to preserve old behavior for compatibility purposes.
was:
Currently we sort entries in secondary indexes as {{(idx_cols, KEY)}}. The key
itself is not stored in the index in general case. It means that we need to
perform a lookup to data page to find correct insertion point for index entry.
This could be fixed easily by sorting entries a bit differently - {{idx_cols,
link}}. This is all we need.
UPD: If we have an affinity keys, then affinity column will be added to
secondary index as well.
So, we'll have secondary index as {{(idx_cols, KEY, AFF_COL)}}
> SQL: Secondary indexes should sort entries by links rather than keys
> --------------------------------------------------------------------
>
> Key: IGNITE-8384
> URL: https://issues.apache.org/jira/browse/IGNITE-8384
> 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 sort entries in secondary indexes as {{(idx_cols, KEY)}}. The
> key itself is not stored in the index in general case. It means that we need
> to perform a lookup to data page to find correct insertion point for index
> entry.
> This could be fixed easily by sorting entries a bit differently - {{idx_cols,
> link}}. This is all we need.
> UPD: If we have an affinity keys, then affinity column will be added to
> secondary index as well.
> So, we'll have secondary index as {{(idx_cols, KEY, AFF_COL)}}
> Comparison occur here:
> {{org.apache.ignite.internal.processors.query.h2.database.H2Tree#compare}}
> What we need is to avoid adding PK and affinity key columns to every
> secondary index and compare links instead in this method.
> Probably we need to preserve old behavior for compatibility purposes.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)