Heim  >  Artikel  >  Datenbank  >  MySQL5新特点(数据字典)

MySQL5新特点(数据字典)

WBOY
WBOYOriginal
2016-06-07 16:04:311092Durchsuche

因为对元数据(元数据就是那些关于如何数据库的那些数据)的使用已经变得愈来愈普遍了,MySQL5在产品中也相应地设计了一个专门的数据库,这个数据库的固定名称就是information_schema,该数据库作为一个中心数据字典的角色出现,其中包含了数据库的所有对象信息

因为对元数据(元数据就是那些关于如何数据库的那些数据)的使用已经变得愈来愈普遍了,MySQL5在产品中也相应地设计了一个专门的数据库,这个数据库的固定名称就是information_schema,该数据库作为一个中心数据字典的角色出现,其中包含了数据库的所有对象信息和其他与数据库相关的项目(比如安全),这些对象等信息都在MySQL服务器产品中做了定 义。数据库管理人员和相关开发人员可以使用information_schema数据字典数据库来获得MySQL服务器上一个或多个数据 库相关的多方面的元数据。
举例说明,如果数据库管理人员想要知道某个MySQL数据库实例中存储空间的概况,那么可以通过执行如下的对数据字典的查询来实现:
mysql> SELECT a.schema_name db_name,
-> IFNULL(ROUND((SUM(b.data_length)+SUM(b.index_length))/1024/1024,2),0.00)
-> total_size_mb,
-> IFNULL(ROUND(((SUM(b.data_length)+SUM(b.index_length))-
-> SUM(b.data_free))/1024/1024,2),0.00) data_used_mb,
-> IFNULL(ROUND(SUM(data_free)/1024/1024,2),0.00) data_free_mb,
-> IFNULL(ROUND((((SUM(b.data_length)+SUM(b.index_length))-SUM(b.data_free))/
-> ((SUM(b.data_length)+SUM(b.index_length)))*100),2),0) pct_used,
-> COUNT(table_name) tables
-> FROM information_schema.schemata a
-> LEFT JOIN information_schema.tables b ON a.schema_name = b.table_schema
-> WHERE a.schema_name != 'information_schema'
-> GROUP BY a.schema_name
-> ORDER BY 1;
+---------+---------------+--------------+--------------+----------+--------+
| db_name | total_size_mb | data_used_mb | data_free_mb | pct_used | tables |
+---------+---------------+--------------+--------------+----------+--------+
| gim     |        432.67 |       432.67 |         0.00 |   100.00 |     16 |
| gim2    |          8.64 |         8.64 |         0.00 |   100.00 |      6 |
| mysql   |          0.33 |         0.33 |         0.00 |    99.69 |     18 |
| test    |          0.00 |         0.00 |         0.00 |     0.00 |      0 |
| tpcc    |        126.09 |       126.09 |         0.00 |   100.00 |      9 |
+---------+---------------+--------------+--------------+----------+--------+
注意上面的示例中,应该设为不查询字典数据库自身,通过where条件语句来实现。(51CTO.COM教程)
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:修改MySQL的默认密码Nächster Artikel:学习MySQL常用操作命令