Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-7950

Item_func::type() takes 0.26% in OLTP RO

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 10.1
    • Fix Version/s: 10.1.6
    • Component/s: Optimizer
    • Labels:
      None

      Description

      Data comes from Sandy Bridge system running sysbench OLTP RO in 1 thread against 1 table.

      Call graphs:

      -   0.26%  mysqld  mysqld
         - Item_func::type() const
            + 18.31% JOIN::optimize_inner()
            + 17.94% MYSQLparse(THD*)
            + 11.70% update_ref_and_keys(THD*, st_dynamic_array*, st_join_table*, unsigned int, Item*, unsigned long long, st_select_lex*, st_sargable_param**) [clone .isra.253]
            + 10.26% build_equal_items(JOIN*, Item*, COND_EQUAL*, List<TABLE_LIST>*, bool, COND_EQUAL**, bool) [clone .constprop.262]
            + 6.81% internal_remove_eq_conds(THD*, Item*, Item::cond_result*)
            + 5.92% JOIN::prepare(Item***, TABLE_LIST*, unsigned int, Item*, unsigned int, st_order*, bool, st_order*, Item*, st_order*, st_select_lex*, st_select_lex_unit*)
            + 5.32% join_read_const_table(st_join_table*, st_position*) [clone .isra.248]
            + 4.84% JOIN::optimize()
            + 3.57% make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)
            + 3.01% SQL_SELECT::test_quick_select(THD*, Bitmap<64u>, unsigned long long, unsigned long long, bool, bool, bool)
            + 3.00% remove_eq_conds(THD*, Item*, Item::cond_result*)
            + 2.92% Item_func::compile(bool (Item::*)(unsigned char**), unsigned char**, Item* (Item::*)(unsigned char*), unsigned char*)
            + 2.52% Item_equal::add_const(Item*, Item*)
            + 2.01% Item_func::setup_args_and_comparator(THD*, Arg_comparator*)
            + 1.31% make_join_select(JOIN*, SQL_SELECT*, Item*)

      This is virtual method which can't be inlined. Most time spent for function call convention. Check if we can revoke it's virtual status.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              bar Alexander Barkov
              Reporter:
              svoj Sergey Vojtovich
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration