对于基本操作,php或sql更快

时间:2011-02-01 04:20:49

标签: php sql optimization

我想知道,当给出选项时,用php或mysql处理是否更快? 例如,假设我想要连接两列中的两个值

SELECT col1,col2 FROM table WHERE conditions

然后在php中连接

或者我应该

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

然后不必连接?

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

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

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

2 个答案:

答案 0 :(得分:11)

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

答案 1 :(得分:2)

  1. 如有疑问,请将其标出
  2. 根据你的例子,在数据库中一步完成它比在两步(数据库然后是php)中更快
  3. 如果您将存储在数据库中的数据与存储在其他地方的数据(可能已经存储在内存中)进行比较,情况会有所不同。 PHP可能有一些可以使它相等的函数,但通常数据库被优化以处理特定的数据类型并仅处理有限的指令集,而PHP可能需要更多的资源,因为它是一个多功能的解释器。

    对使用的硬件类型影响更大;如果它只是一小部分数据,那么无论哪种方式都无关紧要。