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

Optimize row_ins_index_entry() for bulk insert operation

Details

    Description

      In row_ins_index_entry(), we do traverse mod_tables in transaction for every
      index in the table. This could be avoided by traversing the mod_tables
      in row_ins() function for all index at once.

      Avoid the following:

              if (index->is_btree()) {
                      /* If the InnoDB skips the sorting of primary
                      index for bulk insert operation then InnoDB
                      should have called load_one_row() for the
                      first insert statement and shouldn't use
                      buffer for consecutive insert statement */
                      if (auto t= trx->use_bulk_buffer(index)) {
                              /* MDEV-25036 FIXME:
                              row_ins_check_foreign_constraint() check
                              should be done before buffering the insert
                              operation. */
                              ut_ad(index->table->skip_alter_undo
                                    || !trx->check_foreigns);
                              return t->bulk_insert_buffered(*entry, *index, trx);
                      }
              }
      

      Attachments

        Activity

          There are no comments yet on this issue.

          People

            thiru Thirunarayanan Balathandayuthapani
            thiru Thirunarayanan Balathandayuthapani
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.