社区
其他
帖子详情
我们的网站访问量很大,同时并发可能有100多人访问数据库,但如果这时候有1个人在往一张表里写数据,那么mysql就会把整张表锁定,这时其它99
speakboy
2005-08-25 06:36:38
我们的网站访问量很大,同时并发可能有100多人访问数据库,但如果这时候有1个人在往一张表里写数据,那么mysql就会把整张表锁定,这时其它99个读数据库的人就必须等到表解锁的时候才能访问!这样就会很慢的,请问高手有什么办法解决
...全文
1949
37
打赏
收藏
我们的网站访问量很大,同时并发可能有100多人访问数据库,但如果这时候有1个人在往一张表里写数据,那么mysql就会把整张表锁定,这时其它99
我们的网站访问量很大,同时并发可能有100多人访问数据库,但如果这时候有1个人在往一张表里写数据,那么mysql就会把整张表锁定,这时其它99个读数据库的人就必须等到表解锁的时候才能访问!这样就会很慢的,请问高手有什么办法解决
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
主键和外键 php_吐血汇总的真实整整
100
+PHP面试题
来源于网络上的集锦,建议收藏点赞关注,慢慢看,蟹蟹1,Http 和Https的区别第一:http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议第二:http和https使用的是完全不同的连接方式,端口也不一样,前者80 或者443第三:http连接很简单,是无状态的。https协议是由ssl+http协议构建的可进行加密传输,身份认证的网络协议。2.什么方法来加快页面...
腾讯云
网站
搭建成本分析:
个人
博客 3 年总花费低至 500 元方案
本文详细分析了在腾讯云上搭建
个人
博客的3年成本优化方案,总花费可低至500元。通过轻量应用服务器、智能存储分层和CDN组合策略,实现高性价比的
网站
搭建方案,特别适合预算有限的创作者。文章还提供了分阶段资源配置建议和实战成本压缩技巧,帮助用户最大化利用腾讯云优惠。
MySQL
事务隔离级别详解与实战应用
事务隔离级别是
数据
库
并发
控制的核心机制,通过定义不同事务间的可见性规则来平衡
数据
一致性与系统性能。其实现原理主要基于MVCC(多版本
并发
控制)和锁机制,前者通过维护
数据
版本来实现非阻塞读,后者则确保
写
操作的正确性。在技术价值上,合理选择隔离级别能有效解决脏读、不可重复读和幻读等问题。典型应用场景包括电商订单处理(读已提交)、财务系统(可重复读)以及银行转账(串行化)。
MySQL
默认采用可重复读级别,配合间隙锁机制在保证一致性的同时维持较高性能。对于高
并发
系统,理解不同隔离级别对TPS(每秒事务数)的影响至关
开发者
个人
品牌建设的四层基建模型:CODE方法论
在数字时代,专业能力必须通过可检索、可验证、可传播的在线痕迹来具象化,否则等同于不存在——这是技术人‘存在证明’的核心机制。
个人
品牌并非自我营销技巧,而是由代码可信度、知识显性化、精准分发与信任互动构成的技术影响力系统。其底层逻辑高度契合工程师思维:像设计微服务一样构建可拆解、可验证、可演进的品牌基建。GitHub开源项目、PR描述、Issues讨论等真实工作流中的输出,正成为比博客更高效的技术信用载体;而‘代码即产品、人即平台’的范式迁移,正推动开发者从执行者升级为可被全球调用的职业接口。本文详解CODE
Ubuntu 12.04下为Piwik配置GeoIP地理定位实战
GeoIP是一种基于IP地址映射地理位置的基础网络技术,其核心原理是通过查询预编译的二进制
数据
库
(如GeoIP.dat)匹配IP段与国家/城市信息;该技术依赖libgeoip底层C库与PHP扩展协同工作,具备轻量、低延迟、无需外部API调用的技术价值;广泛应用于
网站
分析、用户行为分群、CDN调度与合规地域限制等场景;在老旧系统如Ubuntu 12.04上部署时,必须严格匹配PHP 5.3、libgeoip1 v1.4.8与pecl geoip-1.0.8三者ABI,避免段错误与未知地域问题;本文聚焦遗留服务
其他
259
社区成员
6,538
社区内容
发帖
与我相关
我的任务
其他
其他产品/厂家
复制链接
扫一扫
分享
社区描述
其他产品/厂家
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章