Hi, In my mind, the inline size 64 will be able to significant grow of storage size. It can be difficult to understand by users.
Earlier I remember we panned to replace inline value to hash code in the case where size of value more than inline size. It will help to comparison of "==", "!=", but will not grow size of storage. I think optimization with hash code looks more preferable and in last way anyone can to grow size of baseline though API. On Wed, Aug 19, 2020 at 9:22 AM Zhenya Stanilovsky <arzamas...@mail.ru.invalid> wrote: > > > >Hi guys, > > Evgeniy, hola! > > > >Currently if a varlength type (such as String or byte[]) is encountered in > >the composite index inline size just defaults to 10, which is almost > always > >not enough. I am going to change this and implement following changes: > > > >1) For a column of the variable length keep using 10 as the default size > in > >case of the one-column index. But if the index is composite the default > >index size will be calculated as the sum of sizes of all indexed columns. > >For example, for the index like (INT, VARCHAR, VARCHAR, INT) default > inline > >size will be 5 + 10 + 10 + 5 = 30 (5 for each int, 10 for each string). > > Why exactly this approach ? Why not 5 + 10 and its all here ? Do you have > some logical base, statistical distribution or something near it, for now > this look as your own decision and nothing more, i`m wrong ? > > > >2) For sql varchar and binary columns with defined length (for example > >VARCHAR(XX)) use XX + 3 as default inline size for the column (need 3 > extra > >bytes for the inner representation of the type). > > The same question here, why you want o cover all varchar len ? do you > compare with other vendors approach ? > > > >3) Maximum default index size still will be limited by > >IGNITE_MAX_INDEX_PAYLOAD_SIZE, but its default value will be increased to > >64. For example for the index (VARCHAR, VARCHAR, VARCHAR, VARCHAR, > VARCHAR, > >VARCHAR, VARCHAR) default index size will be only 64. Same for the columns > >with defined length: by default VARCHAR(100) column will create index only > >with size equal to 64. > > > >Please tell if you have any concerns. Update can be found at > >https://github.com/apache/ignite/pull/8161 > > > >Best regards, > >Evgeniy > > > > > > -- Vladislav Pyatkov