Bug #100530 | Improve the document of concurrent_insert | ||
---|---|---|---|
Submitted: | 14 Aug 2020 11:52 | Modified: | 19 Aug 2020 12:09 |
Reporter: | YIGONG HU | Email Updates: | |
Status: | Not a Bug | Impact on me: | |
Category: | MySQL Server: Documentation | Severity: | S5 (Performance) |
Version: | 5.6 | OS: | Ubuntu (18.04) |
Assigned to: | CPU Architecture: | x86 (64bit) |
[14 Aug 2020 11:52]
YIGONG HU
[14 Aug 2020 14:02]
MySQL Verification Team
Hi Mr. HU, Thank you for your bug report. However, you are asking to document a very well known behaviour for MyISAM. When MyISAM runs concurrent inserts, lock is applied, while without it, no locks. It is a simple deduction that with locks you get slower performance. Also, we do not publish benchmarks in our documentation, especially for storage engines which are at the end of its lifetime.
[18 Aug 2020 14:59]
YIGONG HU
Thanks for your quick response! The issue I encountered is that this parameter is enabled by default. While this default setting will help improve the performance of insert-intensive workloads, it hurts the performance when my workload is select-intensive. The official explanation of the parameter says "If there are multiple INSERT statements, they are queued and performed in sequence, concurrently with the SELECT statements.", which seems to suggest this is always good for performance. Thus, I think it might be good to mention this caveat in the documentation that although the default setting is good for insert-intensive workloads, it may hurt SELECT-intensive workloads so that the users can know the potential side-effect and decide whether they want to enable it.
[19 Aug 2020 12:09]
MySQL Verification Team
Hi Mr. HU, We understand what you are writing about, but our documentation mentions locking, which is sufficient. Your remark would be quite justified if this was a Users Manual. But, this is not that kind of manual, this is Reference Manual. There are many MySQL User manuals available in shops and online. Not a bug.