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

Item_field::used_tables() takes 0.29% in OLTP RO

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • 10.1
    • 10.1.9
    • OTHER
    • None

    Description

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

      Call graphs:

      -   0.29%  mysqld  mysqld
         - Item_field::used_tables() const
            + 16.02% Item::const_item() const
            + 13.23% 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*)
            + 11.63% Item_func::update_used_tables()
            + 8.13% JOIN::optimize_inner()
            + 6.51% build_equal_items_for_cond(THD*, Item*, COND_EQUAL*, bool)
            + 5.63% st_select_lex::update_used_tables()
            + 5.11% setup_fields(THD*, Item**, List<Item>&, enum_mark_columns, List<Item>*, bool)
            + 5.03% Item_equal::update_const()
            + 4.33% Item_equal::update_used_tables()
            + 4.08% Item_func::fix_fields(THD*, Item**)
            + 4.07% Item_func::eval_not_null_tables(unsigned char*)
            + 3.44% Item_equal::fix_fields(THD*, Item**)
            + 2.52% JOIN::optimize()
            + 1.96% Arg_comparator::cache_converted_constant(THD*, Item**, Item**, Item_result)
            + 1.43% Item_sum::check_sum_func(THD*, Item**)
            + 1.42% make_join_statistics(JOIN*, List<TABLE_LIST>&, st_dynamic_array*)
            + 1.11% add_key_fields(JOIN*, key_field_t**, unsigned int*, Item*, unsigned long long, st_sargable_param**)
            + 0.77% setup_conds(THD*, TABLE_LIST*, List<TABLE_LIST>&, Item**)
            + 0.75% Item_func_between::fix_fields(THD*, Item**)
            + 0.74% Item_sum::update_used_tables()
            + 0.66% is_local_field(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

        Activity

          People

            sanja Oleksandr Byelkin
            svoj Sergey Vojtovich
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.