免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 9177 | 回复: 48
打印 上一主题 下一主题

再次请教: 如何避免表锁定 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-05 18:05 |只看该作者 |倒序浏览
请具体支支招吧。

两个程序处理同一个表格,程序A不断的向表格里面插入数据,数千条到数万条,每次可能需要数秒钟的时间,两次执行间睡眠1秒钟。程序B每30秒钟运行一次,计算,然后删除处理过的数据,程序B运行一次需要10秒钟或者更长的时间。

这样A 、B就会冲突,表被锁定,需要很长的时间才能运行完一次。请问应该如何处理来避免表的锁定?

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2005-09-06 09:23 |只看该作者

再次请教: 如何避免表锁定

看不出来A,B为什么会冲突。

计算是什么意思

论坛徽章:
0
3 [报告]
发表于 2005-09-06 10:50 |只看该作者

再次请教: 如何避免表锁定

原帖由 "北京野狼" 发表:
看不出来A,B为什么会冲突。

计算是什么意思


计算是指做一些处理。A正在INSERT的时候,B进行DELETE,这时候表就被锁住了。 或者B正在DELETE,A要INSERT。 A 和B同时写一个表,就有一个必须等待。我要解决的就是这个问题,避免被锁住,避免等待。

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2005-09-06 11:07 |只看该作者

再次请教: 如何避免表锁定

原帖由 "liusz" 发表:


计算是指做一些处理。A正在INSERT的时候,B进行DELETE,这时候表就被锁住了。 或者B正在DELETE,A要INSERT。 A 和B同时写一个表,就有一个必须等待。我要解决的就是这个问题,避免被锁住,避免等待。


你说的这种情况表决不会被锁住。
这样的并发处理都应付不了,还要数据库干吗

论坛徽章:
0
5 [报告]
发表于 2005-09-06 13:13 |只看该作者

再次请教: 如何避免表锁定

还是自己着急好了

E文好的同志还是去MYSQL自己的论坛好了。中文的真没有找到太好的论坛。

http://forums.mysql.com/

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2005-09-06 13:28 |只看该作者

再次请教: 如何避免表锁定

对不起,你懂,那你慢慢锁着吧

论坛徽章:
0
7 [报告]
发表于 2005-09-06 17:15 |只看该作者

再次请教: 如何避免表锁定

原帖由 "北京野狼" 发表:


你说的这种情况表决不会被锁住。
这样的并发处理都应付不了,还要数据库干吗


这种情况必然要加锁,但是未必会是死锁就是了。
每次对数据有更新的时候,都需要锁表的。

论坛徽章:
0
8 [报告]
发表于 2005-09-06 17:16 |只看该作者

再次请教: 如何避免表锁定

原帖由 "liusz" 发表:


计算是指做一些处理。A正在INSERT的时候,B进行DELETE,这时候表就被锁住了。 或者B正在DELETE,A要INSERT。 A 和B同时写一个表,就有一个必须等待。我要解决的就是这个问题,避免被锁住,避免等待。


如果数据库处理能力不够好,或者插入时间太长等原因,这是无法避免的,只能通过优化,或者寻求其他解决办法,比如insert和delete异步。

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2005-09-06 17:25 |只看该作者

再次请教: 如何避免表锁定

原帖由 "yejr" 发表:


这种情况必然要加锁,但是未必会是死锁就是了。
每次对数据有更新的时候,都需要锁表的。


AINSERT,B进行DELETE,为什么需要锁,要是这样数据库还有什么用处?
我在论坛发贴,你斑竹删贴,难道CU论坛得加锁?

你们都不理解数据库在什么情况需要加锁。

论坛徽章:
62
2016科比退役纪念章
日期:2016-06-28 17:45:06奥兰多魔术
日期:2015-05-04 22:47:40菠菜神灯
日期:2015-05-04 22:35:07菠菜神灯
日期:2015-05-04 22:35:02NBA季后赛大富翁
日期:2015-05-04 22:33:34NBA常规赛纪念章
日期:2015-05-04 22:32:032015年亚洲杯纪念徽章
日期:2015-04-14 16:54:452015年亚洲杯之朝鲜
日期:2015-03-19 23:03:16明尼苏达森林狼
日期:2015-03-16 21:51:152015小元宵徽章
日期:2015-03-06 15:57:202015年迎新春徽章
日期:2015-03-04 09:55:282015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2005-09-06 17:29 |只看该作者

再次请教: 如何避免表锁定

http://bbs.chinaunix.net/forum/viewtopic.php?p=3571622&highlight=北京野狼#3571622
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP