Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-17497

Reduce memory usage (query->total_size & fetch->total_size) for FTS query

    XMLWordPrintable

    Details

      Description

      Try to reduce the memory usage for FTS queries. InnoDB can remove
      the f_n_char from fts_string_t.

      Marko suggested few changes:

      (1) Do we need both `doc_id` and `rank` in `fts_ranking_t`, or could we use a `union` of them? I assume that the two above `ib_rbt_t` are already storing either doc id or rank in the key, so we would not need to repeat that in the value.

      (2) Why do we have `table_id` and `index_id` in `fts_table_t`? There already is `table` which I guess we could replace with `index`.

      (3) Can we remove `fts_table_t::suffix`? And `fts_table_t::charset`?

      (4) Do we need `fts_savepoint_t` with names? Savepoints are internally numbers (number of undo log records written before the savepoint).

      (5) Can `fts_doc_ids_t` or `fts_trx_table_t::added_doc_ids` be simplified?

      (6) `ib_uc_t` is unused. The definition could be removed.

      Address all the questions above. Try to reduce memory usage without affecting performance of the query.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              thiru Thirunarayanan Balathandayuthapani
              Reporter:
              thiru Thirunarayanan Balathandayuthapani
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: