admin 发表于 2020-9-15 23:14:11

destoon性能优化之公司列表慢的解决方案

由于更多的功能和更快的性能,但是发现Company公司模块列表速度非常慢,我们经过检查,发现程序是采用的Like查询分类ID,而MYSQL的普通索引对LIKE查询无效,造成公司黄页模块速度非常慢(数据量小可能体会不到)。

由于一个公司属于多个分类,所以必须使用LIKE查询,LIKE速度快的只有全文索引了,我们看到Mysql支持FULLTEXT的全文索引,不支持中文,而正好company的分类列catids正好是全英文的,所以,解决办法是:1:进入PHPMYADMIN,修改company表结构,为catids列新建一个FULLTEXT索引。2:修改Destoon网站目录下的module下的company下的list.inc.php ,将:

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

改成

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


3,找到

[*]$condition .= " AND catids like '%,".$catid.",%'";

修改成


[*]$condition .= " AND MATCH (catids) AGAINST ( ',".$catid.",')";



注意是两个地方,1个PC,1个WAP。好了,大功告成,速度马上飞快!

执行 SQL语句

[*]ALTER TABLE `destoon_company` ADD FULLTEXT INDEX(`catids`)
[*]

页: [1]
查看完整版本: destoon性能优化之公司列表慢的解决方案