
Kristian Nielsen <knielsen@knielsen-hq.org> 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.