Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

大量 UPDATE pre_forum_thread SET `heats`=`heats`+'1'

[复制链接]
拒绝游泳的鱼 发表于 2012-12-12 20:16:25 | 显示全部楼层 |阅读模式
本帖最后由 拒绝游泳的鱼 于 2012-12-13 17:39 编辑

出现大量的长查询,都是 UPDATE pre_forum_thread SET `heats`=`heats`+'1'
请问引起原因,可有解决办法?数据库接近45G。


抱歉让大家担心了,DZ的朋友也第一时间联系了咱们这边,问题已经找到。
vus520 发表于 2012-12-12 20:19:17 | 显示全部楼层
做延迟更新,把访问记录放到cache里
回复

使用道具 举报

溜溜转 发表于 2012-12-12 20:39:10 | 显示全部楼层
顶下鱼哥,深度插入!大C速度安排解决!
回复

使用道具 举报

 发表于 2012-12-12 20:40:49
在内存中计数 达到一定量级后 update 一次 重置计数器 重新开始
这种情况我也遇到过 后来就是采用这种方法解决的[tthread=runbey, 袁晓力]http://app.qlogo.cn/mbloghead/b75afa4dd21954b17922[/tthread]
回复

使用道具

 发表于 2012-12-12 20:40:50
能具体点讲下修改方法不?我是技术白痴||@runbey: 在内存中计数 达到一定量级后 update 一次 重置计数器 重新开始这种情况我也遇到过 后来就是采用这种方法解决的[tthread=im286_com, 董勤锋]http://app.qlogo.cn/mbloghead/f5a7e8ad947619848516[/tthread]
回复

使用道具

yym1254 发表于 2012-12-12 20:41:07 | 显示全部楼层
鱼哥哥的帖子要顶啊!
回复

使用道具 举报

 发表于 2012-12-12 20:51:46
通过Memcached 做个变量计数器 在原先需要update的地方 加下列代码 Hc(key)=Hc(key)+1  if Hc(key)>=1000 执行update SQL语句 同时Hc(key)=0 重置计数器 重新开始 这样可以将原来的1000次执行数据库更新换代减到1次|| @im286_com: 能具体点讲下修改方法不?我是技术白痴||@runbey: 在内存中计数 达到一[tthread=runbey, 袁晓力]http://app.qlogo.cn/mbloghead/b75afa4dd21954b17922[/tthread]
回复

使用道具

amwdhqc 发表于 2012-12-12 20:51:50 | 显示全部楼层
本帖最后由 amwdhqc 于 2012-12-12 21:04 编辑
  1. 楼主滚回落伍
复制代码
楼下排队
回复

使用道具 举报

wangchao008 发表于 2012-12-12 20:54:34 | 显示全部楼层
帮顶 鱼神 楼下继续
回复

使用道具 举报

49054296 发表于 2012-12-12 20:55:55 | 显示全部楼层
前来看鱼哥也提问题
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-3-12 19:52 , Processed in 0.043910 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表