首页 > 网站 > 建站经验 > 正文

Ecshop数据表ecs_category操作频率导致网站访问慢的解决方法

2024-04-25 20:33:00
字体:
来源:转载
供稿:网友

ECSHOP这款电商程序由于系统开源功能齐全受到了很多站长朋友们的青睐。近期很多站长朋友来联系小编说ECSHOP二次开发后的网站访问速度突然慢了下来,没有以前快了。

开始A5源码小编 以为是由于商城的图片多,访问的时候加载需要一点时间这是正常的,也可能是网站的JS问题导致的。这些都不是什么问题,只需要整体优化下就可以解决了。

可是近期A5源码小编 每天都遇到一些站长朋友来反映说ECshop程序没有以前访问快了,小编这才想起分析比较慢的网站日志,从追踪MYSQL对数据库的增删改查中看出来了端倪:有一个SQL语句:select count(*) form ‘ecs_category’操作频率高,速度相当慢,很容易造成数据库堆积,PHP空间资源被占,这样引起的后果就是网站越来越慢了。

那么遇到了这个问题是对数据库的操作导致的该如何优化解决呢?下面小编来详细的把解决方法整理下吧。

第一步:连接空间的FTP,找到找到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";

以上文件修改后直接上传覆盖之前的原文件即可。小编这里主要是针对数据库方面SQL语句运行的效率不高做出的优化措施,其实ECshop这款程序在优化和需要二次开发的地方还是比较多的,感兴趣的站长朋友们可以多研究下,小编就不一一列举了。不过小编还是温馨提示下在修改之前尽量都备份下程序文件,这样不至于改错了后丢失之前的文件哦。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表