正在为您加载需要的页面,请稍后...
格子云网络,我们专为建站而生
. . .

技术共享

当前位置:格子云 > 动态 > 技术共享 >

已阅读

ECSHOP数据表ECS_CATEGORY操作频率导致网站访问慢的

来源:sywer       时间:2016-09-02 11:19         责任编辑:sywer

ECshop款电商程序由于系统开源功能齐全受到了很多站长朋友们的青睐。近期很多站长朋友来联系小编说ECSHOP二次开发后的网站访问速度突然慢了下来,没有以前快了。开始小编以为是由于商城的图片多,访问的时候加载需要一点时间这是正常的,也可能是网站的JS问题导致的。这些都不是什么问题,只需要整体优化下就可以解决了。可是近期小编每天都遇到一些站长朋友来反映说ECshop程序没有以前访问快了,小编这才想起分析比较慢的网站日志,从追踪MYSQL对数据库的增删改查中看出来了端倪:有一个SQL语句:select count(*) form ‘ecs_category’操作频率高,速度相当慢,很容易造成数据库堆积,资源被占,这样引起的后果就是网站越来越慢了。那么遇到了这个问题是对数据库的操作导致的该如何优化解决呢?下面小编来详细的把解决方法整理下吧。

第一步:找到找到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这款程序在优化和需要二次开发的地方还是比较多的,感兴趣的站长朋友们可以多研究下,小编就不一一列举了。不过小编还是温馨提示下在修改之前尽量都备份下程序文件,这样不至于改错了后丢失之前的文件哦。