gpt4 book ai didi

php - 复制到临时表需要很长时间

转载 作者:行者123 更新时间:2023-11-30 00:45:19 25 4
gpt4 key购买 nike

实际上我使用这个临时表概念,因为我希望查询运行得更快。我的代码如下

$maketemp1 = "
CREATE TEMPORARY TABLE bin1 (
`ackNo` varchar(55),
`repairStatus` varchar(100),
`productFamily` varchar(100),
`location` varchar(100),

`binTo` varchar(100),
`binTime` datetime,
`age` int(50)

)
";

mysql_query($maketemp1) or die ("Sql error : ".mysql_error());

$inserttemp1 = "
INSERT INTO bin1
(`ackNo`, `repairStatus`, `productFamily`, `location`,`binTo`,`binTime`,`age`)
SELECT customerupdate.ackNo,tblRepairQueue.repairStatus, tblRepairQueue.productFamily,tblRepairQueue.location,customerupdate.binTo,customerupdate.binTime,
TIMESTAMPDIFF(HOUR , customerupdate.binTime , '".$value."') FROM `tblRepairQueue` , `customerupdate` WHERE
tblRepairQueue.ackNo=customerupdate.ackNo and tblRepairQueue.location='".$empLocationName."'

";

mysql_query($inserttemp1) or die ("Sql error : ".mysql_error());

但是发生的情况是,当我运行上述查询时,复制花费的时间太长..与正常查询相比,该过程非常慢..我还有另一个疑问..使用临时表的概念会更快地给出结果吗?

最佳答案

临时表可能不是最佳选择,具体取决于您想要实现的目标...创建一个具有一些数据整合的表以缩小接下来几个请求的范围可能会很有用,但这样做效率很低所以。

此外,临时表不能被多次访问,因此需要一个真实的表。

表的创建需要磁盘写入,这比在 RAM 中纯 select 的效率低很多。使用缓存方法,您可以非常快速地检索先前选择的结果。您可以使用该选择作为查询的 FROM 部分,以使其比在大型数据库中池化更快。但即便如此...

我们正在开发大约 1To 的数据集,大查询是根据用户权限(类别、商店等)查找产品,我们尝试为每个用户创建一个表,指向他拥有的产品然后使用该表检索数据,而不需要大量的 where 条件,但使用 SSD 仍然很慢。因此,我们只是在服务器上转储了巨大的 RAM,并且在登录时为每个用户运行了用于填充临时表的 SELECT,然后用作 FROM,一切都很完美。

关于php - 复制到临时表需要很长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21424969/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com