Php 哪个更快:数据库级的字符串连接,还是应用程序级的字符串连接?
我在DQL中有一个选择3列的简单查询:Php 哪个更快:数据库级的字符串连接,还是应用程序级的字符串连接?,php,mysql,string,concatenation,Php,Mysql,String,Concatenation,我在DQL中有一个选择3列的简单查询: $qb->select("c.zip_code, c.name, s.state") ->where("c.zip_code LIKE :input"); 我期望的输出是 “[c.邮政编码],[c.姓名],[s.州]” 目前,我正在PHP级别上连接字符串以获得所需的字符串 使用该功能在数据库级别执行此操作是否更快?这并不是一个与优化相关的问题。你应该考虑哪一个更具可读性/实用性,我个人会在PHP级别上进
$qb->select("c.zip_code, c.name, s.state")
->where("c.zip_code LIKE :input");
我期望的输出是
“[c.邮政编码],[c.姓名],[s.州]”
目前,我正在PHP级别上连接字符串以获得所需的字符串
使用该功能在数据库级别执行此操作是否更快?这并不是一个与优化相关的问题。你应该考虑哪一个更具可读性/实用性,我个人会在PHP级别上进行。这种逻辑属于你的应用程序的显示层,而不是数据库。我想使用mysql级别 为什么我们必须注意mysql提供内置函数的这种操作 我的意见 这两种方法可能需要相同的时间
归根结底,性能现在可能是一样的,但以后的问题,如代码重用、易于更改变得更加重要 如果有两个大致相同的选择,我相信您在本例中有,我将使用风险因素做出最终决定 如果我以后需要在应用程序中拆分列,那么在数据库加入列之后拆分应用程序中的列即使不是不可能,也是非常昂贵的。因此,将它们加入到应用程序中的风险较小,因为我拥有以任何方式呈现它们所需的数据
另外,我觉得扩展应用程序层比扩展数据库层更容易。您只需添加应用程序服务器。数据库瓶颈比应用程序瓶颈更难处理。您可以比MySql服务器更轻松地扩展PHP服务器。例如,在AWS上,您可以创建自动缩放条件,以向上/向下缩放PHP服务器实例 是否有必要为直接比较编写一个有意义的基准?太笼统了。如今,数据库被抽象得太远了,在这两层中都没有本质上的问题。它可能与大量的请求相关,在这种情况下,缓存连接结果(memcached)将导致速度提升。我发现有些表达式更容易使用SQL。