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

my_strcasecmp_utf8() takes 0.19% in OLTP RO

    Details

    • Type: Bug
    • Status: Open
    • Priority: Minor
    • Resolution: Unresolved
    • Affects Version/s: 10.1
    • Fix Version/s: 10.1
    • Component/s: None
    • Labels:
      None

      Description

      Call graphs:

      -   0.19%  mysqld  mysqld
         - my_strcasecmp_utf8
            + 50.79% ACL_internal_schema_registry::lookup(char const*)
            + 25.44% find_field_in_table(THD*, TABLE*, char const*, unsigned int, bool, unsigned int*)
            + 14.92% get_cached_schema_access(st_grant_internal_info*, char const*)
            + 5.82% find_field_in_table_ref(THD*, TABLE_LIST*, char const*, unsigned int, char const*, char const*, char const*, Item**, bool, bool, unsigned int*, bool, TABLE_LIST**)
            + 2.13% find_order_in_list(THD*, Item**, TABLE_LIST*, st_order*, List<Item>&, List<Item>&, bool)
            + 0.90% find_item_in_list(Item*, List<Item>&, unsigned int*, find_item_error_report_type, enum_resolution_type*)
      

      ACL_internal_schema_registry::lookup() does linear search.
      find_field_in_table() most probably does linear search.

        Gliffy Diagrams

          Attachments

            Activity

            Hide
            svoj Sergey Vojtovich added a comment -

            my_strcasecmp_utf8() is called 6x per most OLTP RO queries:
            my_strcasecmp(system_charset_info, "information_schema", db);
            my_strcasecmp(system_charset_info, "performance_schema", db);
            my_strcasecmp(system_charset_info, field_in_table, requested_field1);
            my_strcasecmp(system_charset_info, field_in_table, requested_field1);
            my_strcasecmp(system_charset_info, field_in_table, requested_field1);
            my_strcasecmp(system_charset_info, field_in_table, requested_field2);

            Show
            svoj Sergey Vojtovich added a comment - my_strcasecmp_utf8() is called 6x per most OLTP RO queries: my_strcasecmp(system_charset_info, "information_schema", db); my_strcasecmp(system_charset_info, "performance_schema", db); my_strcasecmp(system_charset_info, field_in_table, requested_field1); my_strcasecmp(system_charset_info, field_in_table, requested_field1); my_strcasecmp(system_charset_info, field_in_table, requested_field1); my_strcasecmp(system_charset_info, field_in_table, requested_field2);

              People

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

                Dates

                • Created:
                  Updated: