现在的位置: 首页 > 综合 > 正文

oracle的读写表并发操作

2013年11月06日 ⁄ 综合 ⁄ 共 599字 ⁄ 字号 评论关闭

 k 说(14:52):
问个问题 查询数据库表的时候 该表还能写数据吗  是按照排队的顺序 还是按照操作的时间顺序(不知道oracle如何处理这个问题)  假设一个情况:我现在在查询计费表(这个时间可能要花10分钟) 10分钟有很多计费数据要入计费表(那这个写数据是要等我查询完了之后才能写吗) 写数据库肯定很快(0.1秒(还是来了数据就写) 查询依然查询写之前的数据
m说(14:54):
能写
m1说(14:54):
你用select .... for update nowait 好像是 我忘了具体怎么写了,这样就可以锁表了,等你查完了提交后别人才能更新
m说(14:55):
跟事物级别有关系
m说(14:55):
并发级别设置
m3 说(14:56):
查询时候千万别锁表
k 说(14:59):
我现在也觉得能写 因为我查询报表库 订购表 数据出来的很快(597.797秒) 现在我查现网库 花了 1184.062秒  这中途肯定写数据去了 
m 说(14:59):
能写
m说(14:59):
查询,写入都是并发的

 

现在有新的问题,既然查询数据的时候也在写数据,那么我的查询场景应该是写之前的场景,因为如果写一次数据,我又从头开始查询,那我的查询就完成不了了。所以oracle应该是用了缓冲数据的功能,查询的过程中,先把写入的数据放到缓冲区里,等查询完毕了,在写入表空间里。(不知道是不是这样,对数据库不是很了解,这是我的一个想法而已,自己觉得还有点儿道理)

 

抱歉!评论已关闭.