← Back to team overview

maria-developers team mailing list archive

Re: Analysing MariaDB 5.5 sysbench performance regression

 

Kristian Nielsen <knielsen@xxxxxxxxxxxxxxx> writes:

Some additional info found from analysis so far:

>     39k   mysql_select

This seems mostly caused by expensive JOIN constructor, as Wlad mentioned.

>     16k   JOIN::choose_subquery_plan

This is caused by unnecessary C++ object construction (thanks,
Timour!). Moving the declaration to after a return() statement when no
subqueries fixes this.

>     10k   make_sortkey()

False alarm, just caused by different inlining (in my MySQL compilation, this
cost is attributed to filesort()).

>      9k   get_best_combination

Also seems to be just different inlining, though there may be a small
additional cost due to copying optimiser structures that are larger in
MariaDB.

>      9k   handler::read_range_next

Seems this is caused by new features in MariaDB - extra statistics collected
(increment_statistics()) and LIMIT_ROWS_EXAMINED - this has a small cost as it
is done for each row.

 - Kristian.


References