我已经阅读了一些有关MySQL中的临时表的信息,但是当涉及到一般的数据库,尤其是MySQL时,我是一个公认的新手。我已经看过有关如何创建临时表的一些示例和MySQL文档,但是我试图确定临时表如何使我的应用程序受益,我想第二是我会遇到什么样的问题。当然,每种情况都不同,但是我想我正在寻找的是关于该主题的一些一般性建议。
我做了一些谷歌搜索,但没有找到我真正想要的主题。如果您有任何经验,我很想听听。
谢谢,马特
当您要执行一个相当复杂的SELECT,然后对该表执行一堆查询时,临时表通常很有价值。
您可以执行以下操作:
CREATE TEMPORARY TABLE myTopCustomers SELECT customers.*,count(*) num from customers join purchases using(customerID) join items using(itemID) GROUP BY customers.ID HAVING num > 10;
然后针对myTopCustomers进行一堆查询,而不必对每个查询进行购买和商品的联接。然后,当您的应用程序不再需要数据库句柄时,就不需要进行清理。
几乎总是会看到用于派生表的临时表创建起来很昂贵。