12下一页
返回列表 发帖
查看: 2435|回复: 12

[求助] forum_thread主题表频繁锁表,有什么好办法么?

ink

21

主题

145

回帖

192

积分

渐入佳境

贡献
2 点
金币
1 个
发表于 2022-5-8 11:20:13 | 显示全部楼层 |阅读模式
forum_thread(myisam)表大概1.6G大小,频繁的被锁表,而且mysql的慢查询几乎都和这个表有关系,类似的慢查询记录:

# Time: 2022-05-08T01:51:00.188791Z
# User@Host: ****@localhost [127.0.0.1]  Id: 880133
# Query_time: 3.783841  Lock_time: 0.094868 Rows_sent: 1  Rows_examined: 1816276
SET timestamp=1651974660;
SELECT t.tid, t.closed, t.author, t.authorid FROM forum_thread tWHERE  t.fid IN('176','183','166','147','174','31','56','77','78','80','76','158','160','167','171','178','179','240','241','247','248','249','262','282','156','74','70','71','72','73','69','97','161','86','136','169','173','175','92','94','182','281','159','285','88','89','90','48','25','21')AND t.displayorder>='0' AND (0 OR t.subject LIKE '*****') ORDER BY tidDESC LIMIT 500;

之前尝试给dateline加了索引,情况有轻微的改善,看上面的记录应该都是和搜索有关系的,论坛已经限制仅仅能搜索主题,但就这样如果还因为搜索频繁锁表的话,总不能禁止了搜索功能……

请高手指点一下,万分感谢!!!!!!!!!!!!!!



QQ图片20220508111554.png


我知道答案 回答被采纳将会获得1 贡献 已有12人回答
回复

使用道具 举报

10

主题

1344

回帖

2350

积分

应用开发者

DSVUE

贡献
65 点
金币
448 个
QQ
发表于 2022-5-8 12:41:16 | 显示全部楼层
看起来不是很像系统自带的查询语句,可以请人改进这个慢查询的查询方法。
DSVUE-专业建站服务 | 最新DZ插件和模板  | 业务联系QQ:631847671 | 技术支持交流Q群:476397924
承接APP、DZ插件开发、PHP二次开发、网站模板制作、网站搬家、各类网站疑难杂症解决(谢绝担保交易,需支付定金)
回复 支持 反对

使用道具 举报

14

主题

1791

回帖

2058

积分

应用开发者

discuz 老兵

贡献
8 点
金币
188 个
QQ
发表于 2022-5-8 13:15:53 | 显示全部楼层
会不会和插件有关系,    分表下试试
回复 支持 反对

使用道具 举报

ink

21

主题

145

回帖

192

积分

渐入佳境

贡献
2 点
金币
1 个
 楼主| 发表于 2022-5-8 14:41:04 | 显示全部楼层
耗子 发表于 2022-5-8 13:15
会不会和插件有关系,    分表下试试

它这个搜索有具体搜索关键词的,我只是打了*号,可能不会是插件吧。
回复 支持 反对

使用道具 举报

ink

21

主题

145

回帖

192

积分

渐入佳境

贡献
2 点
金币
1 个
 楼主| 发表于 2022-5-8 14:41:42 | 显示全部楼层
mingkong 发表于 2022-5-8 12:41
看起来不是很像系统自带的查询语句,可以请人改进这个慢查询的查询方法。 ...

应该就是这个搜索界面:https://www.dismall.com/search.php?mod=forum&adv=yes
回复 支持 反对

使用道具 举报

ink

21

主题

145

回帖

192

积分

渐入佳境

贡献
2 点
金币
1 个
 楼主| 发表于 2022-5-8 14:43:02 | 显示全部楼层
耗子 发表于 2022-5-8 13:15
会不会和插件有关系,    分表下试试

而且主题表不敢分表啊,后患无穷

以前进行过用户表优化,后悔不已,有阴影了……
回复 支持 反对

使用道具 举报

35

主题

2035

回帖

3520

积分

应用开发者

Discuz! 运维

贡献
100 点
金币
616 个
QQ
发表于 2022-5-8 16:02:37 来自手机 | 显示全部楼层
搜索本身就挺费的,可以试试换成innodb,限制搜索时间,或者使用插件https://addon.dismall.com/plugins/xunsearch.html
回复 支持 反对

使用道具 举报

56

主题

1458

回帖

3万

积分

管理员

贡献
2072 点
金币
1383 个
发表于 2022-5-8 19:42:25 | 显示全部楼层
不像自带的sql
回复 支持 反对

使用道具 举报

ink

21

主题

145

回帖

192

积分

渐入佳境

贡献
2 点
金币
1 个
 楼主| 发表于 2022-5-10 12:20:07 | 显示全部楼层

我曾经也怀疑过,所以刚才去后台设置内把搜索的最大搜索结果改成了400,过了一会再去看慢日志:

\n# Time: 2022-05-10T04:10:13.815770Z\n# User@Host: *** @ localhost [127.0.0.1]  Id: 8774685\n# Query_time: 3.068823  Lock_time: 0.000116 Rows_sent: 43  Rows_examined: 1817067\nSET timestamp=1652155813;\nSELECT  t.tid, t.closed, t.author, t.authorid FROM forum_thread t WHERE  t.fid IN ('176','183','166','147','174','31','56','77','78','80','76','158','160','167','171','178','179','240','241','247','248','249','262','282','156','74','70','71','72','73','69','97','161','86','136','169','173','175','92','94','182','281','159','285','88','89','90','48','25','21') AND t.displayorder>='0' AND (0 OR t.subject LIKE '%s905x3%') ORDER BY tid DESC LIMIT 400;

还真得就是系统自带的搜索。


回复 支持 反对

使用道具 举报

ink

21

主题

145

回帖

192

积分

渐入佳境

贡献
2 点
金币
1 个
 楼主| 发表于 2022-5-10 17:56:13 | 显示全部楼层

请教一下,主题表目前1.6G,没有分表,已经建立下图中这些索引,是否合理?万分感谢!


主题表索引.png

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 关注公众号
  • 有偿服务微信
  • 有偿服务QQ

手机版|小黑屋|Discuz! 官方交流社区 ( 皖ICP备16010102号 |皖公网安备34010302002376号 )|网站地图|star

GMT+8, 2024-5-21 10:07 , Processed in 0.049759 second(s), 9 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2024 Discuz! Team.

关灯 在本版发帖
有偿服务QQ
有偿服务微信
返回顶部
快速回复 返回顶部 返回列表