PHP VS查询MySQL性能(如,功能)(PHP vs MySQL Performance ( i

2019-08-02 04:49发布

我刚看到这条每页

我需要知道什么是最好berformance在这种情况下,

如果statment查询

SELECT *,if( status = 1 , "active" ,"unactive") as status_val FROM comments

VS

<?php
    $x = mysql_query("SELECT * FROM comments");

     while( $res = mysql_fetch_assoc( $x ) ){
       if( $x['status'] == 1 ){
             $status_val = 'active';
        }else{
             $status_val = 'unactive';
        }
     }
  ?>

从弦切10

SELECT * , SUBSTR(comment, 0, 10) as min_comment FROM comments

VS

<?php
    $x = mysql_query("SELECT * FROM comments");

     while( $res = mysql_fetch_assoc( $x ) ){
       $min_comment = substr( $x['comment'],0,10 ) ;
     }
  ?>

等????? 我使用MySQL的函数或PHP函数?

Answer 1:

这是你的问题的一个很好的描述: 做计算在MySQL与PHP

在第二个例子中的情况下,速度问题可显著。 首先你不知道如何在大的情况下,是你的意见,所以

$x = mysql_query("SELECT * FROM comments");

 while( $res = mysql_fetch_assoc( $x ) ){
   $min_comment = substr( $x['comment'],0,10 ) ;
 }

你问你的服务器返回你的一切(在这里我指的是评论的整个长度),这可能是显著。 按行的数量乘以该表也可以是数据,你必须PHP和SQL之间传输的相当大的规模。 在第二种情况下,该SELECT * , SUBSTR(comment, 0, 10) as min_comment FROM comments ,这将在服务器上已经完成,不会需要额外的内存。

在第一个例子的情况下,我认为这也比较好做的SQL一边,因为你仍然需要做的事后额​​外循环。 除了这个,到底为什么你需要的代码的人谁都会看你的代码可能会感到困惑。



Answer 2:

这取决于。 从一个网络点,在第一VS,PHP胜而在第二VS,MYSQL获胜。 那是因为你通过套接字发送的数据量。 因此字迹变得更快。



Answer 3:

在这种情况下,使用MySQL功能,让你在PHP循环,从而节省了大量的代码。

在其他情况下,他们也没办法:例如,当你在使用它们WHERE部分。

在性能方面,不同的是在大多数情况下,简单的:使用最简单的解决方案。



Answer 4:

唯一的答案:测量它! 您有两个可行的解决方案,并希望达到最好的执行时间。



Answer 5:

我说这一切都取决于对两端电流负载的系统。 通常,数据库服务器比台式机更粗壮,这将是更快地做的DB侧整个事情,而不是把它分解和部分使用PHP。



文章来源: PHP vs MySQL Performance ( if , functions ) in query