mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Table definition cache, part 2
The table opening process now works the following way: - Create common TABLE_SHARE object - Read the .frm file and unpack it into the TABLE_SHARE object - Create a TABLE object based on the information in the TABLE_SHARE object and open a handler to the table object Other noteworthy changes: - In TABLE_SHARE the most common strings are now LEX_STRING's - Better error message when table is not found - Variable table_cache is now renamed 'table_open_cache' - New variable 'table_definition_cache' that is the number of table defintions that will be cached - strxnmov() calls are now fixed to avoid overflows - strxnmov() will now always add one end \0 to result - engine objects are now created with a TABLE_SHARE object instead of a TABLE object. - After creating a field object one must call field->init(table) before using it - For a busy system this change will give you: - Less memory usage for table object - Faster opening of tables (if it's has been in use or is in table definition cache) - Allow you to cache many table definitions objects - Faster drop of table
This commit is contained in:
@ -254,7 +254,7 @@ set sql_quote_show_create=1;
|
||||
set sql_safe_updates=1;
|
||||
set sql_select_limit=1;
|
||||
set sql_warnings=1;
|
||||
set global table_cache=100;
|
||||
set global table_open_cache=100;
|
||||
set storage_engine=myisam;
|
||||
set global thread_cache_size=100;
|
||||
set timestamp=1, timestamp=default;
|
||||
@ -386,9 +386,9 @@ SHOW VARIABLES LIKE 'MYISAM_DATA_POINTER_SIZE';
|
||||
# Bug #6958: negative arguments to integer options wrap around
|
||||
#
|
||||
|
||||
SET GLOBAL table_cache=-1;
|
||||
SHOW VARIABLES LIKE 'table_cache';
|
||||
SET GLOBAL table_cache=DEFAULT;
|
||||
SET GLOBAL table_open_cache=-1;
|
||||
SHOW VARIABLES LIKE 'table_open_cache';
|
||||
SET GLOBAL table_open_cache=DEFAULT;
|
||||
|
||||
#
|
||||
# Bugs12363: character_set_results is nullable,
|
||||
|
Reference in New Issue
Block a user