|Showing entries 1 to 6|
Each day there is probably work done to improve performance of the InnoDB storage engine and remove bottlenecks and scalability issues. Hence there was another one I wanted to highlight:
This scalability issue is caused by the usage of tables without primary keys. This issue typically shows itself as contention on the InnoDB dict_sys mutex. Now the dict_sys mutex controls access to the data dictionary. This mutex is used at various places. I will only mention a few of them:
In MySQL 5.6 we’ve added a new feature that closes and unloads table instances from the InnoDB internal data dictionary, once a user configurable threshold is reached. This ends the situation where you could have hundreds of megabytes caching rarely used entries until the server was restarted and will be particularly appreciated by hosting and software as a service providers.
For this we’ve used an existing MySQL config variable table-definition-cache. This cache limit is a soft limit. This means that if the user has more than table-definition-cache tables open then InnoDB will[Read more...]
With the recent news by Brian about the Data Dictionary in Drizzle replacing the INFORMATION_SCHEMA, I was looking into the server status variables (aka INFORMATION_SCHEMA.GLOBAL_STATUS) and I came across an interesting discovery.
select * from data_dictionary.global_status; ... | Table_locks_immediate | 0 | | Table_locks_waited | 0 | | Threads_connected | 8134064 | | Uptime | 332 | | Uptime_since_flush_status | 332 | +----------------------------+----------------+ 51 rows in set (0 sec)
This only retrieved 51 rows, which is way less then previous. What I wanted was clearly missing, all the old com_ status variables. Looking at what the data_dictionary actually has available revealed a new[Read more...]
As I putter around the MySQL
INFORMATION_SCHEMA, I am finding lots of undocumented behavior for fields that should be straightforward. For example, the
VIEWS table holds information about views, and the
VIEW_DEFINITION field contains the view definition, right?
Well, when I was looking at the
VIEW_DEFINITION today, I noticed an odd thing. Even though I had permissions to see the view definition (as proven by the
SHOW CREATE VIEW command), the
INFORMATION_SCHEMA.VIEWS table sometimes came up blank for the
VIEW_DEFINITION. I had to figure out why, and now that I know, I’m not sure if it’s a bug or a feature…..can you figure it out?
mysql> USE INFORMATION_SCHEMA; Database changed mysql> SELECT TABLE_NAME,VIEW_DEFINITION FROM VIEWS WHERE TABLE_SCHEMA='sakila';[Read more...]
|Showing entries 1 to 6|