Skip to content
  • Dmitry Lenev's avatar
    04c357ca
    WL#5772 "Add partitioned Table Definition Cache to avoid using · 04c357ca
    Dmitry Lenev authored
    LOCK_open and its derivatives in DML queries".
    
    Re-introduced table cache - a separate cache holding TABLE objects
    ready for use by statements protected by its own mutex. In the most
    common case a connection opening/closing a table only needs to go
    to this cache for getting/releasing TABLE object and do not need
    to go to the table definition cache. By having several instances of
    such cache (each protected by its own lock) and partitioning
    user connections between these instances (based on connection id)
    we can greatly improve scalability in some scenarios.
    
    Added new start-up parameter --table_open_cache_instances for
    setting number of table cache instances in the system.
    
    Existing --table_open_cache parameter now limits total number of
    TABLE object in all table cache instances combined.
    
    Added Table_open_cache_hits, Table_open_cache_misses,
    Table_open_cache_overflows - per-connection and global status
    variables for tracking and tuning performance of new cache.
    (The latter allows to track how often we have to expel tables
    from the cache since the table cache instance contains more
    than table_open_cache/table_open_cache_instances objects.)
    04c357ca
    WL#5772 "Add partitioned Table Definition Cache to avoid using
    Dmitry Lenev authored
    LOCK_open and its derivatives in DML queries".
    
    Re-introduced table cache - a separate cache holding TABLE objects
    ready for use by statements protected by its own mutex. In the most
    common case a connection opening/closing a table only needs to go
    to this cache for getting/releasing TABLE object and do not need
    to go to the table definition cache. By having several instances of
    such cache (each protected by its own lock) and partitioning
    user connections between these instances (based on connection id)
    we can greatly improve scalability in some scenarios.
    
    Added new start-up parameter --table_open_cache_instances for
    setting number of table cache instances in the system.
    
    Existing --table_open_cache parameter now limits total number of
    TABLE object in all table cache instances combined.
    
    Added Table_open_cache_hits, Table_open_cache_misses,
    Table_open_cache_overflows - per-connection and global status
    variables for tracking and tuning performance of new cache.
    (The latter allows to track how often we have to expel tables
    from the cache since the table cache instance contains more
    than table_open_cache/table_open_cache_instances objects.)
Loading