-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Commit 55bc3f1
committed
Fixed performance problem with Aria in find_head()
For some simple benchmarks, a majority of time was
spend in find_head() which tries to find the best
place to put the record.
The result of this patch is a 2x or more speedup for
inserts without keys for format PAGE. All changes
are only related to how rows are stored
Should fix some of the problems mentioned in:
MDEV-8132 Temporary tables using Aria with very poor performance
MDEV-9079 Aria very slow for internal temporary tables
MDEV-5841 Mariadb very poor temporary performance
The following changes where done:
- For rows with a small row length that fits into
a page (818 bytes with 8192 pages), stop as soon as we
hit a match.
- Added markers full_head_size and full_tail_size that tells
us where to start searching on the bitmap page
- Ensure that page->used_size is correctly updated when
bitmap grows. This allows us to stop searching at used_size
- Added code to check that the bitmap variables are correct.
- Fixed a wrong test where we set "first_bitmap_with_space".
This shouldn't have caused any notable problems.1 parent 965e163 commit 55bc3f1Copy full SHA for 55bc3f1
File tree
Expand file treeCollapse file tree
2 files changed
+212
-32
lines changedFilter options
- storage/maria
Expand file treeCollapse file tree
2 files changed
+212
-32
lines changed
0 commit comments