I was pretty busy last month with project which will be annonced very soon (I hope), but I can’t miss bug fix
of my favorite bug 15815. I wrote about this problem before and also investigated in my presentation.
Finally bug fix was pushed into 5.0-bk tree and now I have it in my hands.
Let me refresh results with MySQL 5.0.27 (without bugfix):
select sql_calc_found_rows * from b limit 5;
executes for 20 sec (table b contains ~2 mil rows)
the same query but in 4 concurrent threads:
98 sec
101 sec
103 sec
103 sec
(I am still using 4-CPU box and expecting the same time of execution for each thread).
The results with 5.0.30-bk:
1 thread:
19 sec
4 threads:
28 sec
29 sec
39 sec
41 sec
Great improvement! But scalablity factor is not such perfect as I’d expect, because with my own patch
I was able to reach better performance. Also as you see there is a thread starvation – last thread executes 1.4 times slower. So I’d want InnoDB team continue to work on performance improvement.
Anyway I think it’s good news.