MySQL从查询创建表

时间:2013-11-02 17:18:23

标签: mysql view

我有一个大表,其中基本上是日志条目。对于我的大多数查询,我需要一个包含最新条目的表,因此我从以下查询中创建了一个“视图”:

SELECT t1.store_id, t1.code_id, t1.working, t1.expiration, t1.details, t1.price
    FROM code_stores t1
    LEFT OUTER JOIN code_stores t2
    ON (t1.store_id = t2.store_id AND t1.code_id = t2.code_id AND t1.id < t2.id)
    WHERE t2.store_id IS NULL

然后我在查询中使用此“视图”。不幸的是,这会导致查询速度变慢,所以我想以某种方式缓存此视图的结果。由于此视图每天只会更改几次(当我可以运行查询来更新缓存表时),我想创建一个临时表来存储此视图的结果,并在一整天内更新。

我该怎么做呢?我读到了物化视图,但看起来它们不适用于mysql。非常感谢更多的帮助。

1 个答案:

答案 0 :(得分:0)

考虑到使用临时表,我建议使用trigger,以便每次code_store表更改时都更新临时表。