ECSHOP数据表商品分类操作频率导致网站访问慢的解决方法

2016-09-02 16:28 来源:www.chinab4c.com 作者:ecshop专家

ECSHOP这款电商程序由于系统开源功能齐全受到了很多站长朋友们的青睐。近期很多站长朋友来联系ECSHOP插件网说ECSHOP二次开发后的网站访问速度突然慢了下来,没有以前快了。开始ECSHOP插件网以为是由于商城的图片多,访问的时候加载需要一点时间这是正常的,也可能是网站的JS问题导致的。这些都不是什么问题,只需要整体优化下就可以解决了。可是近期ECSHOP插件网每天都遇到一些站长朋友来反映说ECshop程序没有以前访问快了,ECSHOP插件网这才想起分析比较慢的网站日志,从追踪MYSQL对数据库的增删改查中看出来了端倪:有一个SQL语句:SELECT count(*) FROM \'ecs_category\'操作频率高,速度相当慢,很容易造成数据库堆积,PHP空间资源被占,这样引起的后果就是网站越来越慢了。那么遇到了这个问题是对数据库的操作导致的该如何优化解决呢?下面ECSHOP插件网来详细的把解决方法整理下吧。 第一步:找到打开includes/lib_goods.php文件使用高级编辑器打开。在57行代码: $sql = \'SELECT count(*) FROM \' . $GLOBALS[\'ecs\']->table(\'category\') . \" WHERE parent_id = \'$parent_id\' AND is_show = 1 \"; 修改为: $sql = \'SELECT cat_id FROM \' . $GLOBALS[\'ecs\']->table(\'category\') . \" WHERE parent_id = \'$parent_id\' AND is_show = 1 LIMIT 1\"; 第二步:再继续向下找到91行代码: $sql = \'SELECT count(*) FROM \' . $GLOBALS[\'ecs\']->table(\'category\') . \" WHERE parent_id = \'$tree_id\' AND is_show = 1 \"; 修改为: $sql = \'SELECT cat_id FROM \' . $GLOBALS[\'ecs\']->table(\'category\') . \" WHERE parent_id = \'$tree_id\' AND is_show = 1 LIMIT 1\"; 以上文件修改后直接上传覆盖之前的原文件即可。ECSHOP插件网这里主要是针对数据库方面SQL语句运行的效率不高做出的优化措施,其实ECshop这款程序在优化和需要二次开发的地方还是比较多的,感兴趣的站长朋友们可以多研究下,ECSHOP插件网就不一一列举了。不过ECSHOP插件网还是温馨提示下在修改之前尽量都备份下程序文件,这样不至于改错了后丢失之前的文件哦。