问题解析
destoon性能优化之公司列表慢的解决方案
2021-02-02 19:57  浏览:1286
 由于更多的功能和更快的性能,但是发现Company公司模块列表速度非常慢,我们经过检查,发现程序是采用的Like查询分类ID,而MYSQL的普通索引对LIKE查询无效,造成公司黄页模块速度非常慢(数据量小可能体会不到)。


由于一个公司属于多个分类,所以必须使用LIKE查询,LIKE速度快的只有全文索引了,我们看到Mysql支持FULLTEXT的全文索引,不支持中文,而正好company的分类列catids正好是全英文的,

所以,解决办法是:

1:进入PHPMYADMIN,修改company表结构,为catids列新建一个FULLTEXT索引。

2:修改Destoon网站目录下的module下的company下的list.inc.php ,将:

 

  1. $condition = "groupid>5 and catids like '%,".$catid.",%'";

 

改成

 

  1. $condition = "groupid>5 and MATCH (catids) AGAINST ( ',".$catid.",')";

 

 

3,找到 

 

  1. $condition .= " AND catids like '%,".$catid.",%'";

 

修改成

 

 

  1. $condition .= " AND MATCH (catids) AGAINST ( ',".$catid.",')";

 

 

 

注意是两个地方,1个PC,1个WAP。

好了,大功告成,速度马上飞快!

 

 

执行 SQL语句

 

  1. ALTER TABLE `destoon_company` ADD FULLTEXT INDEX(`catids`)
  2.  
发表评论
0评