首页站内杂志技术文摘
文章内容页

MYSQL占用CPU100%?优化帝国CMS结合项中的模糊like查询参数方法,做数字型完全匹配

  • 作者:雨祺
  • 来源: 原创
  • 发表于2024-04-10 12:00:12
  • 被阅读0
  • MYSQL占用CPU100%?优化帝国CMS结合项中的模糊like查询参数方法,做数字型完全匹配。小编最近几天发现某客户服务器的MYSQL的CPU使用率会偶尔飙升到100%,于是开启MYSQL得慢查询发现是结合项查询导致的:

    MYSQL占用CPU100%?优化帝国CMS结合项中的模糊like查询参数方法,做数字型完全匹配

    一般来说对于小数据量的数据大家可以不用管的,奈何客户网站业务中这个模型里面的数据太多,于是到了不的不优化的地步了。

    客户网站结合项使用的是单选模式,那么我们先把结合项字段设置为:TINYINT,长度1,比如:(注意:这个修改不会改变字段里面的内容,但是会导致后台对应字段数据不能重新对应。如果有需要一定要先做转换,不会的可以联系小编制作对应的转换代码。)

    1==红色

    2==橙色

    3==黄色

    4==绿色

    然后打开/e/action/ListInfo.php文件找到:

    1. $listandf.=$doandor.$andr[$i]." LIKE '%".$andval."%'"
    改成:
    1. if (false !== strstr($emod_r[$mid]['checkboxf'], ','.$andr[$i].',')) { 
    2.         $listandf.=$doandor.$andr[$i]." LIKE '%".$andval."%'"
    3. }else
    4.         $listandf .= $doandor.$andr[$i] . (is_numeric($andval) ? "=".$andval : "='".$andval."'"); 

    然后结合项里记得改成对应的:

    ##红色,1##橙色,2##黄色,3##绿色,4

    这样就可以了。转换后,没有再出现过MYSQL帝国CMS结合项查询过慢的问题。

    【审核人:站长】

        标题:MYSQL占用CPU100%?优化帝国CMS结合项中的模糊like查询参数方法,做数字型完全匹配

        本文链接:https://www.meiweny.cn/zazhi/zhongwangjiaocheng/728.html

        赞一下

        深度阅读

        • 您也可以注册成为美文苑的作者,发表您的原创作品、分享您的心情!

        阅读记录

          关注美文苑