【发布时间】:2015-03-29 02:42:40
【问题描述】:
我有一个相当复杂的查询,需要运行几千次,参数取自另一个表列中的值。以任何理智的方式写成简单的 JOIN 都太复杂了。
每次执行查询大约需要 6 秒,因此编写 PHP 脚本来执行此循环可能只会让我的 Web 服务器崩溃。有没有办法可以在 OSX 的命令行中执行此操作? (我意识到这开始进入超级用户领域,我应该在那里问它吗?)。
我想做的是:
- 运行查询以从
table1.columnA获取我需要的值。 - 将这些值 (
valueA) 存储到某种数组中。 - 遍历这个数组,并对每个值执行我的复杂查询:
INSERT INTO table2 (id, :valueA)
SELECT id from table3
WHERE id NOT IN (COMPLEX_SUBQUERY)
AND tableXYZ.value = :valueA
最好的解决方案似乎是在某种 shell 脚本中执行此操作,但坦率地说,Unix 脚本对我来说仍然有点黑魔法。我更喜欢用 PHP 编写脚本,但我想如果我尝试将其作为 PHP 脚本来执行,Apache 会吓坏的。
【问题讨论】:
标签: mysql macos command-line