MySQL经常自动锁住行,我表示十分愤怒

戴威 发布于 2011/03/04 17:25
阅读 749
收藏 1

各位有什么好方法解决

加载中
0
王纪云
王纪云

换用POSTGRESQL就可以解决

0
王纪云
王纪云

或是用一种笨方法:

1 用两个MYSQL,一个MASTER,一个SLAVE,MASTER负责写和少量读,SLAVE负责只读

2 SLAVE设置一个时间如每五分钟向MASTER同步修改的数据.

3 一个查询时默认使用SLAVE,当一个用户有更新或删除操作时,切换到MASTER来负责写和读,这个控制可以使用SESSION或COKIEE来解决

0
戴威
戴威

这么麻烦的办法,好像杀人

postgresql我也试过,可是没听说有大规模应用啊

0
xifan
xifan

锁表使用的是msiam,使用分区分表来处理。还有更换存储介质使用ssd等。

表数据量有多少。具体问题具体分析。

0
ValueError
ValueError

引用来自#5楼“xifan”的帖子

锁表使用的是msiam,使用分区分表来处理。还有更换存储介质使用ssd等。

表数据量有多少。具体问题具体分析。

oschina 貌似因为 myisam 问题准备换 innodb 了~

0
BossKiller
BossKiller

读和写的并发量有多大?反正我觉得不大的情况下就没遇到过锁住的情况(你是在程序里面加上锁表的动作?),貌似 MySQL服务器已经帮我做好数据的读写安排了。

0
戴威
戴威

innodb 也锁住过

0
张林
张林

引用来自#8楼“喵了个咪”的帖子

innodb 也锁住过

我们以前的某电信下属网站,晚上的访问量4000+,在线2000+,发现网站动不动就塌,后来发现mysql负载很高而且经常行锁,这是根本没办法的事情,我们都没有解决,最后,技术经理一声令下,将近一个月的封闭开发改版。最后用了DB2,问题解决,白天遇到攻击时,apache抗到9000+还都是SYN_TIME_WAIT都没事。

mysql这东西,我也就自己机器存存银行卡密码和重要数据、访问量小的网站,小型bbs之类的还行,大型网站,我劝你还是放弃吧,没有解决办法的。

当然中国不乏高人的出现,我表示期待。当然了,你可以用用缓存,这样不用老去查数据库,读写次数降低了,对缓解数据库压力,防止行锁有好处。

0
老腊肉
老腊肉

读写分离

0
戴威
戴威

看来大家对行所的怨念都很大啊

返回顶部
顶部