You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Maksim Timonin (Jira)" <ji...@apache.org> on 2020/11/19 07:57:00 UTC

[jira] [Commented] (IGNITE-13732) Incorrect inline suggestion.

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

Maksim Timonin commented on IGNITE-13732:
-----------------------------------------

[~zstan] Hi! I'm working near this code right now, so had a short look at this ticket. I'm not sure how do you check idxTypes, current master code doesn't have it in output. But I assume you used `idx.type()` to get it. So, type 13 means String. String are variable length so it can be pretty long, as recommended size calculated as `val.getString().getBytes(CHARSET).length + 3`.

_KEY is used to make possible to store duplicated index keys in BPlusTree.

Sorry, If I missed something. But it's interesting to me because I worked on this code two days ago. If you need some help with this ticket I can discover it deeper if you provide more info (how table, index are created).

> Incorrect inline suggestion.
> ----------------------------
>
>                 Key: IGNITE-13732
>                 URL: https://issues.apache.org/jira/browse/IGNITE-13732
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>    Affects Versions: 2.9
>            Reporter: Stanilovsky Evgeny
>            Assignee: Stanilovsky Evgeny
>            Priority: Major
>
> I found that inline size suggestions are incorrect, check for example :
> {noformat}
> Indexed columns of a row cannot be fully inlined into index what may lead to slowdown due to additional data page reads, increase index inline size if needed (use INLINE_SIZE option for CREATE INDEX command, QuerySqlField.inlineSize for annotated classes, or QueryIndex.inlineSize for explicit QueryEntity configuration) [cacheName=myCache, tableName=myTable, idxName=SOME_IDX_NAME, idxCols=[PAYMENTDATE, STATUS, _KEY], idxTypes=[0, 13, 19], curSize=10, idxType=SECONDARY, recommendedInlineSize=96]
> {noformat} but why ? If PAYMENTDATE - long and STATUS is boolean, i believe it need to be calculated like:
> 5 bytes for BO header + 8 (long) + 4? (boolean) = 17, and i don`t understand why "_KEY" presented here, no need to append inner field size here.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)