社区
C#
帖子详情
数据库更新慢的问题
angel6709
2009-11-20 11:39:49
我现在数据库有表A(id ,type,value)
其中id主键,type是索引,value是内容
数据量40万多。
update 的where后面是id,
现在30人同时连续的更新里面的数据,没人每次4条左右,更新完一条后就,立即更新下一条。
挺慢的。。大约1秒3条。。。
而且CPU 老高。。。
如何解决。。。。
再:
select 的 where
先type 后再 id
先id 后再 type
直接id
哪个更好。。
希望高手多多指教。。。。。
...全文
363
27
打赏
收藏
数据库更新慢的问题
我现在数据库有表A(id ,type,value) 其中id主键,type是索引,value是内容 数据量40万多。 update 的where后面是id, 现在30人同时连续的更新里面的数据,没人每次4条左右,更新完一条后就,立即更新下一条。 挺慢的。。大约1秒3条。。。 而且CPU 老高。。。 如何解决。。。。 再: select 的 where 先type 后再 id 先id 后再 type 直接id 哪个更好。。 希望高手多多指教。。。。。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
27 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
angel6709
2009-11-20
打赏
举报
回复
[Quote=引用 8 楼 agentianle 的回复:]
考虑到高并发的情况,不如写个缓冲类,所有修改请求并非直接执行入库,而是被缓冲类收集,等待一定时间后,如1~3秒后,由缓冲类负责将此段时间内的请求统一入库
[/Quote]
谢谢提示。。。
还有没有更好的解决方案呢???
由于是并发操作,所有人都做同样的事,就像买车票一样的感觉。。只不过我是有30个(以后会更多)。
怎么保证每个人取得的数据不重复呢。。。
我现在最郁闷的就是这个了,
现在让他们取的是不同的Type的数据,即不同的Group的数据
suiyuan110
2009-11-20
打赏
举报
回复
up!!!!!!
ytc666
2009-11-20
打赏
举报
回复
关注
liaoyukun111
2009-11-20
打赏
举报
回复
学习了,还真没有搞过大量数据
天乐
2009-11-20
打赏
举报
回复
当然,8楼所述的方法,仅适合各项数据间无复杂依赖关系、且稍微等待一下并无不可的数据处理。
天乐
2009-11-20
打赏
举报
回复
考虑到高并发的情况,不如写个缓冲类,所有修改请求并非直接执行入库,而是被缓冲类收集,等待一定时间后,如1~3秒后,由缓冲类负责将此段时间内的请求统一入库
angel6709
2009-11-20
打赏
举报
回复
[Quote=引用 5 楼 dreamsnake 的回复:]
是否每人每次的更新,都有创建连接,打开连接,关闭连接,释放连接,其中的一个或几个操作?
如果是的话,自己写个HBHelper类吧,统一管理连接,减少这些操作的次数。
[/Quote]
不好意思,我刚才出去吃饭了。
连接是一直打开的。。。
hhc123
2009-11-20
打赏
举报
回复
不要答了,人家星多是在跟我们开玩笑的吧
dreamsnake
2009-11-20
打赏
举报
回复
是否每人每次的更新,都有创建连接,打开连接,关闭连接,释放连接,其中的一个或几个操作?
如果是的话,自己写个HBHelper类吧,统一管理连接,减少这些操作的次数。
lovelan1748
2009-11-20
打赏
举报
回复
存储过程吧
这个得去数据库区问问
hhc123
2009-11-20
打赏
举报
回复
[Quote=引用 1 楼 hhc123 的回复:]
用存储过程
[/Quote]
当我没说过
0o小石头o0
2009-11-20
打赏
举报
回复
把数据先放入datatable里,最后一次性更新就比较快了。
hhc123
2009-11-20
打赏
举报
回复
用存储过程
一游
2009-11-20
打赏
举报
回复
将更新和数据库处理分成在多台机上
数据文件建文件组,单独存放
再其它的不知你具体情况,也不好细说!~
angel6709
2009-11-20
打赏
举报
回复
CPU高的问题解决了,谢谢大家的帮忙!!!!!
现在我把一些问题总结如下:
查询,插入,删除,update时的where尽量是主key
没法主key的做index,index如果是相同的多,把它整成聚集的
angel6709
2009-11-20
打赏
举报
回复
是不是机器配置有问题:
intel(r)Pentium(r)Dual CPU E2160 @1.8H
2G RAM
CPU一直80-100
angel6709
2009-11-20
打赏
举报
回复
[Quote=引用 20 楼 agentianle 的回复:]
“数据量40万多。”
老实说,一点也算不上大。
问题的关键还是在于高并发吧。
“由于是并发操作,所有人都做同样的事,就像买车票一样的感觉。。只不过我是有30个(以后会更多)。
怎么保证每个人取得的数据不重复呢。。。 ”
到底和卖车票有多相似呢?
并发操作同一条数据的话,还得考虑锁的问题了……
你不如把你的需求的关键点整理清楚,贴出来给大家看看,大家或许是有更好的建议给你
[/Quote]
先谢谢了
是这样的。
有很多很多的图片,例如高考成绩单。。。
我开发的系统就是要把这些图片的信息输入到数据库中。cs架构。
有很多人同时向系统输入信息。。
他们不要调取同样的图片。即,不要重复录入
他们应该有一个协调工作的问题。。
怎么处理。
天乐
2009-11-20
打赏
举报
回复
“数据量40万多。”
老实说,一点也算不上大。
问题的关键还是在于高并发吧。
“由于是并发操作,所有人都做同样的事,就像买车票一样的感觉。。只不过我是有30个(以后会更多)。
怎么保证每个人取得的数据不重复呢。。。 ”
到底和卖车票有多相似呢?
并发操作同一条数据的话,还得考虑锁的问题了……
你不如把你的需求的关键点整理清楚,贴出来给大家看看,大家或许是有更好的建议给你
angel6709
2009-11-20
打赏
举报
回复
[Quote=引用 16 楼 wuyq11 的回复:]
数据量很大,分区和实批操作
建立索引,提高查询效率
[/Quote]
分区和实批操作 能再详细 指点一下吗。
期待中。。。。
谢谢!!!
一个私有云从业者
2009-11-20
打赏
举报
回复
原因:优化你的存储过程和视图。
加载更多回复(4)
vertica
数据库
更新
慢
问题
解决方案
vertica
数据库
更新
慢
问题
解决方案。merge into
mysql
更新
数据库
慢
_mysql
数据库
优化
优化方向:sql优化1.
数据库
慢
查询日志首先开启
数据库
的
慢
查询在MySQL配置文件my.cnf中修改配置文件方式:注意:修改以下参数,需要重新启动
数据库
服务才会生效。slow_query_log=off|on --是否开启
慢
查询日志slow_query_log_file=filename --指定保存路径及文件名,默认为数据文件目录,hostname-slow.loglong_query_...
Oracle-
数据库
性能变
慢
问题
分析
应用运维报障说最近两天业务数据入库和表查询都变得很
慢
,需要排查一下
数据库
的性能
问题
Oracle
数据库
表查询插入没
问题
,表
更新
卡死
问题
数据库
服务器资源
问题
:如果
数据库
服务器资源不足,如 CPU、内存、磁盘空间等不足,也会导致
更新
操作变
慢
,从而造成卡死现象。
数据库
表结构
问题
:如果表的结构设计不合理,如表字段过多、表关联复杂等,也会导致
更新
操作变
慢
,从而造成卡死现象。
数据库
锁:在执行
更新
操作时,可能有其他事务正在访问相同的数据,导致
更新
操作被阻塞,从而造成卡死现象。优化
数据库
索引:可以通过分析
数据库
表的查询语句,找出需要建立索引的列,尽量减少不必要的索引。优化
数据库
表结构:可以考虑对表结构进行调整,将不常用的数据分离出去,减少表字段数量等。
【Oracle】
数据库
执行
慢
问题
排查
一次Oracle的执行
慢
排查记录,本记录记录提到的解法仅代表个人的处理思路,旨在将经验分享给各位,与君互勉
C#
111,094
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章