一尘不染

我的应用程序如何从临时表中受益?

sql

我已经阅读了一些有关MySQL中的临时表的信息,但是当涉及到一般的数据库,尤其是MySQL时,我是一个公认的新手。我已经看过有关如何创建临时表的一些示例和MySQL文档,但是我试图确定临时表如何使我的应用程序受益,我想第二是我会遇到什么样的问题。当然,每种情况都不同,但是我想我正在寻找的是关于该主题的一些一般性建议。

我做了一些谷歌搜索,但没有找到我真正想要的主题。如果您有任何经验,我很想听听。

谢谢,马特


阅读 130

收藏
2021-03-17

共1个答案

一尘不染

当您要执行一个相当复杂的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进行一堆查询,而不必对每个查询进行购买和商品的联接。然后,当您的应用程序不再需要数据库句柄时,就不需要进行清理。

几乎总是会看到用于派生表的临时表创建起来很昂贵。

2021-03-17