gpt4 book ai didi

php - 在 MySQL 端或 PHP 端处理此查询更好吗?

转载 作者:行者123 更新时间:2023-11-28 23:29:22 24 4
gpt4 key购买 nike

说明:

为闭源 PHP 程序编写扩展,我需要根据这些示例查询添加一些数字

SELECT sum(value) AS sum1 FROM table WHERE user_id=X AND text='TEXT_HERE_A'
SELECT sum(value) AS sum2 FROM table WHERE user_id=X AND text='TEXT_HERE_B'

在 PHP 中添加这些数字,然后更新数据库中的字段

$update = $sum1 + $sum2 - $php_sum;
UPDATE table SET value=$update WHERE user_id=X

问题:

如您所见,我在 MySql 中基于“文本”数据类型进行搜索,

你觉得这个 Action 可以吗?或者我应该改为执行以下操作:

SELECT value,text FROM table WHERE user_id=X

然后通过循环在PHP端进行求和和计算(这里的区别是我只根据user_id KEY(INT)选择,求和是在PHP端计算的)

哪个在大表中性能更好?

Question: Which one is better in this situation? Calculating SUMs in PHP side or MySQL side?

最佳答案

返回大量行并在客户端进行过滤和求和通常是错误的——您通常希望最小化客户端和服务器之间传输的数据量。因此,如果您可以使用 WHERE 子句进行过滤并使用 SUMCOUNT 之类的内容进行聚合,通常会更好。

我会尝试在服务器上完成所有事情。

UPDATE table AS t1
JOIN (SELECT SUM(value) AS total_value
FROM table
WHERE user_id = X AND text in ('TEXT_HERE_A', 'TEXT_HERE_B')) AS t2
SET value = total_value - $php_sum
WHERE user_id = X

关于php - 在 MySQL 端或 PHP 端处理此查询更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37871553/

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