The PERFORMANCE SCHEMA is dead
The initial implementation of the performance schema used to name tables in the performance schema database in UPPERCASE, as in 'EVENTS_WAITS_CURRENT'.
This naming scheme turned up to be difficult to work with (see Bug#57609), especially considering the established MySQL practice of converting table names to lowercase, using the lower_case_table_names server setting.
Long live the performance schema
Starting with MySQL 5.5.8, the performance schema tables have been renamed to lowercase.
This guarantees that a query such as 'select * from performance_schema.events_waits_current' will work consistently across any server deployment, regardless of the server platform or the server lower_case_table_names configuration parameter.
Life for people or automated tools using the performance schema just became much easier ...
Marc Alff, Oracle.
According to wikipedia[1] the information_schema is defined in a ANSI SQL standard. Is the performance_schema also defined in that standard?
ReplyDeleteDoes this mean that information_schema should also be considered lowercase?
[1] http://en.wikipedia.org/wiki/Information_schema
Daniel,
ReplyDeleteThere is no standard (that I know of) defining the performance_schema, this name is specific to MySQL. Having such a standard is in my opinion unlikely, since the performance schema gives visibility on the database server internal implementation, and this implementation is by definition going to be different for
different database products.
The current implementation of the information_schema uses different naming rules, and is not affected by the same issue.