由于更多的功能和更快的性能,但是发现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`)