我们的网站访问量很大,同时并发可能有100多人访问数据库,但如果这时候有1个人在往一张表里写数据,那么mysql就会把整张表锁定,这时其它99

speakboy 2005-08-25 06:36:38
我们的网站访问量很大,同时并发可能有100多人访问数据库,但如果这时候有1个人在往一张表里写数据,那么mysql就会把整张表锁定,这时其它99个读数据库的人就必须等到表解锁的时候才能访问!这样就会很慢的,请问高手有什么办法解决
...全文
1956 37 打赏 收藏 举报
写回复
用AI写文章
37 条回复
切换为时间正序
请发表友善的回复…
发表回复
ll42002 2006-06-16
  • 打赏
  • 举报
回复
首先,优化数据库结构,尽量减小数据库的操作时间。
其次,用数据库连接池。
sharpfire 2006-06-15
  • 打赏
  • 举报
回复
总不能让一百人同时修改一张表吧
lulu123ma 2006-06-13
  • 打赏
  • 举报
回复
学习学习,都是些高手!!
kotte 2006-05-31
  • 打赏
  • 举报
回复
用hibernate
ORM工具。
ailling 2006-02-28
  • 打赏
  • 举报
回复
缓存是正解,读的时候从缓存读就是了,插入数据后更新缓存
pushboy 2006-02-20
  • 打赏
  • 举报
回复
1、减小事务
2、修改数据库结构
3、观察加锁情况
yoyo82 2006-02-15
  • 打赏
  • 举报
回复
实在高!
学习
leadyu 2006-02-13
  • 打赏
  • 举报
回复
一个网站有100个人访问?为什么就会有100个数据库读写呢?我想如果不是实时性要求很高的网站,你大可以用静态网页发布,或者页面缓存以减少数据库读写,我们的网站同时有10000人,可数据库读写也才100次左右。一台机就够了
dichun 2006-02-10
  • 打赏
  • 举报
回复
我建议在SQL的写法上不要加表锁,并且你的事务尽量短。这个我也碰到过这样的事情,
alexlee002 2006-02-10
  • 打赏
  • 举报
回复
我以前用mysql3.23.x版, 也是用MyISAM表, 同时连接800个也没有问题,
关键是你不要把一个事务作的太大, 就像楼上说的, 分成小事务, 另外你程序的sql语句也要仔细考虑,不要影响性能, 还有, 尽量不要把统计之类的工作让数据库去做, 这些你可以自己写程序实现,

还有, mysql的性能很大取决于你的配置, 在网上找找资料, 优化一下你的mysql,不过等到你的表记录数上千万级的时候, 你就要考虑分表了,因为这时候速度会很慢,

我现在用mysql 5.1 , 用InnoDB, 速度明显要比MyISAM快, 你可以考虑一下换个类型
topirol 2006-02-05
  • 打赏
  • 举报
回复
大家继续讨论嘛,主题很好,我顶一下
hcmsxy 2006-02-02
  • 打赏
  • 举报
回复
现在来说,任何一个数据库在速度都不能和Mysql相比。
lingfengtree 2006-01-17
  • 打赏
  • 举报
回复
同意 RedFire(丹焰) 的看法

另外,可以用数据容器等组件来帮你对数据库的连接和关闭等,提高技能;
speakboy 2006-01-11
  • 打赏
  • 举报
回复
高手太多了,谢谢大家
ggzzkk 2006-01-08
  • 打赏
  • 举报
回复
分离表主、副表方法,对于数据即时显示的情况,觉得不太适合,不可能频繁的同步两张表。
tongyiyi 2005-12-29
  • 打赏
  • 举报
回复
: ljhyp_cn(香草山牧民) 支持他的观点分离表主、副表,主表只用于写数据,而副表只用于读数据,中间你可以写个作业来同步两张表就可以了!
ilovehuhu 2005-12-19
  • 打赏
  • 举报
回复
尽量使用记录锁,实在不行可以加缓存,用Write Through。
laughsmile 2005-12-13
  • 打赏
  • 举报
回复
在sql中查询的时候去掉共享锁与排它锁.
比如sqlserver中:
select * from table1 WITH (NOLOCK) where field_CODE ='1'
这样就能大大降低阻塞的可能性了.
mysql中也应该有这样的写法.
RedFire 2005-11-06
  • 打赏
  • 举报
回复
我觉得就算是你用mysql的话,100多个人也不会有大问题的。关键在于你代码的质量,不要将一个事务搞得太大了,尽量用小事务。
darkula 2005-11-02
  • 打赏
  • 举报
回复
改成异步的,业务流程和记库分开,即可,用什么数据库无所谓的,100并发不算大
加载更多回复(15)

259

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧