1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

A join patch for MCOL-4527 (a performance hack) and MCOL-4539 (a bug fix)

- MCOL-4527 Simple query performace is degraded between 5.4 and 5.5

  xxx_nopad_bin collations are now around 30% faster on simple queries like:

    SELECT * FROM t1 WHERE short_char_column_nopad_bin = 'literal'

  The gain is achieved by comparing two short CHAR values as uint64_t.

  Note, this patch does not affect xxx_bin collations!
  It wouldn't be correct to apply the same improvement for xxx_bin
  collations (i.e. with PAD SPACE attribute), because it would change
  the way how trailing spaces are compared.

- MCOL-4539 WHERE short_char_column='literal' ignores the collation on a huge table

  Only the first thread used a correct collation when performing:
    WHERE short_char_char='literal'
  Other (15) threads used the server default collation, because
  the charsetNumber attribute was not copyed during cloning.

- This patch also adds mtr/basic/suite.opt, so "mtr" can run without --extern.
This commit is contained in:
Alexander Barkov
2021-02-15 16:25:48 +04:00
parent ceae2118a2
commit 5bcc1cd1f0
7 changed files with 119 additions and 17 deletions

View File

@ -842,6 +842,7 @@ void ColumnCommand::duplicate(ColumnCommand* cc)
cc->colType.colDataType = colType.colDataType;
cc->colType.compressionType = colType.compressionType;
cc->colType.colWidth = colType.colWidth;
cc->colType.charsetNumber = colType.charsetNumber;
cc->BOP = BOP;
cc->filterCount = filterCount;
cc->fFilterFeeder = fFilterFeeder;