[MDEV-5527] too slow update on engine=memory/index=hash table Created: 2014-01-14 Updated: 2014-01-17 Resolved: 2014-01-17 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | None |
| Affects Version/s: | 5.5.33a |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major |
| Reporter: | tem (Inactive) | Assignee: | Axel Schwenke |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Environment: |
OS: FreeBSD 9.1-RELEASE-p4 amd64
|
||
| Attachments: |
|
| Description |
|
it looks like code for aria/hash index is rewritten, while the same for memory|myisam /hash is the same not so good. tests are made for tables of: so update of randomly filled table of ~0.5mln rows, which affect those index , takes different times: sql-script to create+update tables in attach |
| Comments |
| Comment by Elena Stepanova [ 2014-01-14 ] |
|
Axel, Could you please review the provided information and proceed as needed? Thanks. |
| Comment by Axel Schwenke [ 2014-01-17 ] |
|
This is not a bug. 1. The Aria engine does not have hash indexes. The requested hash index is silently converted to btree. 2. The behavior seen with the Memory table and the hash index is expected, because both the column type and the initial values in the indexed column will cause heavy hash collisions. Please see the attached files memslow4.sql and memslow4.log (with execution times and inline comments) for an example how different value distribution affects hash index efficiency. |
| Comment by Axel Schwenke [ 2014-01-17 ] |
|
demonstration of hash index behavior |