分享好友 教程首页 教程搜索 频道列表

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

2020-04-28 01:0314070
+关注29
核心提示:由于更多的功能和更快的性能,但是发现Company公司模块列表速度非常慢,我们经过检...

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


本文标签: #优化 #公司模块 #SQL #列表慢
整理员:小黑
免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
生成海报
您可能在找更多

模板的html中,a链接上的nofollow标签与dofollow标签的区别

    很多人都在问nofollow与dofollow的区别是什么,什么时候出现,今天小黑就给大家科普一下他俩的含义。nofollow与dofollow的出现,是在标签里的rel属性中。nofollow 的意思是“不要跟踪或禁止追踪”,即告诉搜索引擎蜘

小黑 web前端开发2023-10-09

destoon数据内容分表说明

    信息内容由于数据较长,所以系统将内容保存在单独的表里,随着数据量的增加,内容表体积会越来越大,从而影响查询速度。内容分表功能可以每10万条数据自动生成一个新的内容表来保存数据,从而控制表体积在1G以内,提

DESTOON 随手记2023-06-08

记mysql的union all的简单优化

    需用php测试

小黑 PHP2022-03-17

Sql性能优化之UNION、UNION ALL

    需在php中测试

小黑 MYSQL2022-03-17

下一篇
我来说两句
抢沙发