oracle的读写表并发操作
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应该是用了缓冲数据的功能,查询的过程中,先把写入的数据放到缓冲区里,等查询完毕了,在写入表空间里。(不知道是不是这样,对数据库不是很了解,这是我的一个想法而已,自己觉得还有点儿道理)
相关文档:
LONEFOX题记:
最近搞ORACLE, 转过来供参考。
=================================
1、SQL 语句基础
下面给出SQL语句的基本介绍。
1.1、SQL语句所用符号
操作符
用途
例子
+ -
表示正数或负数,正数可省去 +
-1234.56
+
将两个数或表达式进行相加
A=c+b ......
日前遇到一个问题,需要对在Oracle数据库中查询出来的数值进行比率的计算。类似于如下的SQL:
Select Round((discount/Amount),2) from dual;
这样算出来的数字可以满足绝大部分的需求。但是对于不到1的数字,问题出来了......显示的类似于 .45样子的数据。0.45前面的0不见了。
以下总结了两种方法来解决缺0的问题。
第 ......
转:Oracle All And Any
这是在Oracle中比较容易被忽视的两个条件函数,但这两个函数其实对简化Sql语句是非常重要的作用的。
例如
scott@eddev> select ename, sal from emp where sal > any (1600, 2999);
ENAME &nb ......
author:skate
time:2010/03/16
当系统出现性能瓶颈时,尽量较少不必要的资源消耗,最后就是平衡cpu,内存,io,network等资源,使数据库
可以稳定的运行。
oracle数据库优化的根本是
1.尽量减少资源消耗,例如优化sql,减少sql本身的资源消耗
2.如果无法进一步减少资源的消耗,那就让数据尽量靠近cpu,也就是把数据 ......
Oracle lpad 函数:
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://soysky.blogbus.com/logs/43623642.html
Oracle lpad函数将左边的字符串填充一些特定的字符,其语法格式如下:
lpad( string1, padded_length [, pad_string ] )
其中:
string1是需要粘贴字符的字符串;
padde ......