我陷入了使用条件 block 语句的情况: 所以我想知道哪个给得快
performance between mysql case expression and if-else condition.
我的表情如下
Php 条件 block :
$data=mysql_fetch_assoc(mysql_query("select action,state from my_table")); if($data['action']==2 && $data['state']==0){ $state=1; } else{ $state=0; }
MySql 条件:
$data=mysql_fetch_assoc(mysql_query("select case when action = 2 and state = 0 then 1 else 0 end as state")); $state =$data['state'];
我需要一个更快的解决方案。所以请告诉我哪个更值得推荐。
最佳答案
您可以自己做一些基准测试,看看哪一个最适合您。但是,在大多数情况下,您提供的两种替代方案之间不会发现任何性能差异。
您应该考虑的其他事情是代码的可读性和可维护性。将关注点分成几部分被认为是最佳实践。因此,如果您的 if-else 条件与业务流程有关,则应该使用 PHP。否则,可以放在data(mysql)中
关于php - 我的 Sql 案例与 PHP if-else 性能对比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20716011/