有谁会用mysql视图,创建视图为模板型的。
不需要每次调用的时候都拼接sql重新执行数据,数据在创建的时候就已经有了,不需要执行sql拼接重新查询。(1)请问如何创建此类视图?
(2)如何让创建的视图每隔一个小时自动加载执行sql生成新的数据集合?希望各位大侠们踊跃参与,这个问题是做项目解决多个表联查给数据库造成负加载的问题。

解决方案 »

  1.   

    详细说明,如果执行同一SQL语句,直接生成VIEW、SP不行?
    2、考虑用EVENT
      

  2.   

    create view xxx as select * from table1 union all select * from table2 union all....create event ...
      

  3.   

    [Quote=引用 2 楼 acmain_chm 的回复:]
    引用(1)请问如何创建此类视图?create view xxx as select * from table1 union all select * from table2 union all...这个是普通的视图,每次执行的时候都是执行sql语句,有没有执行的时候,直接查询视图本身的数据,不是重新拼接sql语句执行
      

  4.   


    视图就是一个中间表,可以认为是从你的原始表提炼出来的中间表,查询最终还是在原始表中取数据的。
    如果你想在查询的时候直接查询“视图”,可以把视图记录放到一个物理表(A)中,每隔几分钟用EVENT去把新的记录插入到这个A中。
      

  5.   

    drop event if EXISTS event_guke;
    create event event_guke
    ON SCHEDULE EVERY 120 SECOND 
    -- on completion not preserve 
    do CALL `pro_guke`();
    我做了一个定时器,为什么不执行该存储过程?
      

  6.   

    SET GLOBAL event_scheduler = 1;
    or
    SET GLOBAL event_scheduler = ON;