Skip to content
  • V S Murthy Sidagam's avatar
    db041d1a
    Bug#11757169: MyISAM share list scalability problems · db041d1a
    V S Murthy Sidagam authored
    As the number of open tables is increased, table lookup
    (testing if a table is already open) and in particular
    the case when a table is not open, became increasingly more
    expensive.
    
    The problem was caused by the open table lookup mechanism,
    which was based on traversing a linked list comparing the
    file names.
    
    Fixed by storing a pointer to the MYISAM_SHARE on
    the designated handler share area, so it could skip
    traversing the linked list on open.
    And that there are additional changes for have_rtree,
    which are not related to the bug.
    
    Now with the patch we can see good performance improvement
    in SELECT on huge number of tables for bigger values for
    TABLE_OPEN_CACHE and TABLE_DEFINITION_CACHE.
    db041d1a
    Bug#11757169: MyISAM share list scalability problems
    V S Murthy Sidagam authored
    As the number of open tables is increased, table lookup
    (testing if a table is already open) and in particular
    the case when a table is not open, became increasingly more
    expensive.
    
    The problem was caused by the open table lookup mechanism,
    which was based on traversing a linked list comparing the
    file names.
    
    Fixed by storing a pointer to the MYISAM_SHARE on
    the designated handler share area, so it could skip
    traversing the linked list on open.
    And that there are additional changes for have_rtree,
    which are not related to the bug.
    
    Now with the patch we can see good performance improvement
    in SELECT on huge number of tables for bigger values for
    TABLE_OPEN_CACHE and TABLE_DEFINITION_CACHE.
Loading