对于MySQL 的Information_Schema表,实际上只是一些 views,并不是真正的表,所以没有实际的文件,甚至没有数据库目录。增删改 这样的操作时不行,建立触发器也是不行的。
对该表多在对数据库元数据查询或监控的时候使用。
使用注意事项:
正因为它只是一些views,每次查询都会搜索数据库目录,搜索数据库表,当表的量相当大的时候,会产生一定量的延迟,关键是增加系统的IO。所以select information_schema 或者 show status 时,减少模糊查询,精确查询对象。优化方式 可参考官方文档:http://dev.mysql.com/doc/refman/5.1/en/information-schema-optimization.html
如果存储引擎室Innodb,还应注意参数:innodb_stats_on_metadata
当使用show status 或 select ...information_schema 时,Innodb都会更新其statistics信息,效果和进行analyze语句 是相同的。当数据量较大,表数量较多的时候,这是一个费时的操作。建议关闭,这样就会产生一个稳定的MySQL的执行计划。
本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1153910,如需转载请自行联系原作者