【问题标题】:Is php or sql faster for basic operationsphp 还是 sql 对基本操作来说更快吗
【发布时间】:2011-06-19 00:47:51
【问题描述】:

我想知道,当给定选项时,使用 php 或 mysql 进行处理是否更快? 例如,假设我想连接两列中的两个值,我应该这样做

SELECT col1,col2 FROM table WHERE conditions

然后在php中拼接

或者我应该这样做

SELECT CONCAT(col1,col2) as concatenated FROM table WHERE conditions

然后不必连接?

另一个例子是限制返回字符串的大小,这可以在 sql 中使用 LEFT 或在 php 中使用 substr 来完成

如果它们的速度相同,那么哪个是首选方法?

我在 Windows 7 机器上使用最新版本的 xampp。

【问题讨论】:

    标签: php sql optimization


    【解决方案1】:

    在大多数情况下,在数据库级别对数据执行批处理操作会更快。这些引擎针对处理此类数据集进行了优化,并且它们可以同时处理和传输数据(对于非常大的结果集)。

    【讨论】:

      【解决方案2】:
      1. 如有疑问,请进行基准测试
      2. 根据您的示例,在数据库中一步完成比两步(数据库然后 php)更快

      如果您将存储在数据库中的数据与存储在其他地方的数据(可能已经在内存中)进行比较,情况会有所不同。 PHP 可能有一些功能可以使其相等,但通常数据库经过优化以处理特定数据类型并且只处理有限的指令集,而 PHP 可能需要更多资源,因为它是一个多功能解释器。

      对所用硬件类型的影响更大;如果它只是一小部分数据,那么这两种方法都可能无关紧要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-19
        • 1970-01-01
        相关资源
        最近更新 更多