php - 我的 Sql 案例与 PHP if-else 性能对比

标签 php mysql performance

我陷入了使用条件 block 语句的情况: 所以我想知道哪个给得快

performance between mysql case expression and if-else condition.

我的表情如下

  1. 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;
    }
    
  2. 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/

相关文章:

php - 获取上个月和下个月的年份

php - 合并两个查询,列的总和和最大值

php - 显示今天的生日

c# - 使用 NHibernate 的简单获取(使用按代码映射)非常慢

java - 检测并查明性能回归

php - 对表中的数字求和并保存在变量中

php - 用PHP替换部分PDF

php - 函数 session_start() 的问题(运行缓​​慢)

MySQL 通过乘以其他行中的值返回 1 或 0

c# - 相对于正确配置的同步模型,异步模型真的能提高吞吐量吗?