引言
1.Information_schema库里面的表貌似都是临时表的形式存在
2.Mysql库里面在/data下面有物理存储问题1.请问为什么trigger是存放到Information_schema库里面在? 难道trigger是临时提取的?不对吧..
问题2.请问那又什么把function和Stored Procedures存放到Mysql库里面呢?
 (function, Stored Procedures)和trigger为什么要以这2种方式存放呢?

解决方案 »

  1.   

    不能说是临时表。不过一般的常用说法是动态表。放在内存中,由MYSQLD来维护。这个是对普通的数据库而言。TRIGGER根本不是放在Information_schema库里,你的假设是不对的。不放这儿,那又放哪儿呢? 由于MYSQL本身的设计,它没有把存储过程放在各数据库中,而是放在MYSQL系统数据库中。TRIGGER也是放在MYSQL数据库中的。
      

  2.   

    问题1.请问为什么trigger是存放到Information_schema库里面在? 难道trigger是临时提取的?不对吧..你可以认为Information_schema是个视图库,库里的信息是通过其他库统计得到的,所以它没有物理存储。问题2.请问那又什么把function和Stored Procedures存放到Mysql库里面呢?
     (function, Stored Procedures)和trigger为什么要以这2种方式存放呢?function和Stored Procedures在Information_schema里也有统计信息,表名称是ROUTINES.Information_schema库在5.1后面变得非常重要,一些系统STATUS信息都可以在这里查到。
      

  3.   

    http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html
      

  4.   

     我忘说了。我的Mysql版本是Server version: 5.0.51a-24+lenny4-log (Debian) 1.狼头大哥说:"TRIGGER根本不是放在Information_schema库里"
       
       可我确实是在Information_schema表下面找到了一个TRIGGERS表的,这个表里面也确实存放了
        TRIGGERS信息mysql> show tables;
    +---------------------------------------+
    | Tables_in_information_schema          |
    +---------------------------------------+
    | CHARACTER_SETS                        | 
    | COLLATIONS                            | 
    | COLLATION_CHARACTER_SET_APPLICABILITY | 
    | COLUMNS                               | 
    | COLUMN_PRIVILEGES                     | 
    | KEY_COLUMN_USAGE                      | 
    | PROFILING                             | 
    | ROUTINES                              | 
    | SCHEMATA                              | 
    | SCHEMA_PRIVILEGES                     | 
    | STATISTICS                            | 
    | TABLES                                | 
    | TABLE_CONSTRAINTS                     | 
    | TABLE_PRIVILEGES                      | 
    TRIGGERS       | 
    | USER_PRIVILEGES                       | 
    | VIEWS                                 | 
    +---------------------------------------+
      

  5.   

    那你是不是还看到 TABLES 这个表? 那你的结论是什么呢? 所有表也在 Information_schema 库中?
      

  6.   

    Information_schema就是数据词典,MYSQL就是这样设计的,要问什么,只有看看其源码了