数据库中乐观锁与悲观锁的概念

锁( locking) 业务逻辑的实现过程中,往往需要保证数据访问的排他性。如在金融系统的日终结算处理中,我们希望针对某个 cut-off 时间点的数据进行处理,而不希望在结算进行过程中(可能是几秒种,也可能是几个小时),数据再发生变化。此时,我们就需要通过一些机制来保证这些数据在某个操作过程中不会被外界修改,这样的机制,在这里,也就是所谓的“锁”,即给我们选定的...

作者: superior_2008 发布时间: 09-19

ORACLE常用SQL优化hint语句

在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最...

作者: superior_2008 发布时间: 09-19

mysql到oracle的数据迁移

mysql到oracle的数据迁移 上一篇 / 下一篇 2008-04-18 15:40:32 / 个人分类:数据迁移 查看( 945 ) / 评论( 9 ) / 评分( 35 / 0 ) 当一个企业内部使用的数据库种类繁杂时,往往需要有一个工利用Oracle Migration Workbench将第三方架构对象移植到Oracle数据库。具能够轻轻松松地把这些数据库中所有的数据重审一遍,然后通过把对象和数据移植到一个Oracle数据库的方法合并这...

作者: sun5411 发布时间: 09-19

SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的..

SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的区别(比较) SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY,它们都返回插入到 IDENTITY 列中的值。 IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值。IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表。IDENT_CURRENT 返回为任何会话和作用域中的特定表所生成的值。 @@IDENTITY 返回为当前会...

作者: alen88 发布时间: 09-19

Oracle数据库维护常用SQL语句集合

Oracle数据库维护常用SQL语句集合 1、 求当前会话的SID,SERIAL# SELECT Sid, Serial# FROM V$session WHERE Audsid = Sys_Context('USERENV', 'SESSIONID'); 2、 查询session的OS进程ID SELECT p.Spid "OS Thread", b.NAME "Name-User", s.Program, s.S 1、 求当前会话的SID,SERIAL# SELECT Sid, Serial# FROM V$session WHERE A...

作者: sun5411 发布时间: 09-17

update的顺序

背景 今天审核SQL语句,无意中看到2句update写法很奇怪: update tb set weekNum = weekNum +dayNum where dayNum >0 update tb set dayNum =0 where dayNum >0 这样写法的原因主要是对SqlServer等数据库的不熟悉,感觉放在一起更新不大靠谱。其实完全可以合并在一起的。我们可以借助执行计划,看看实际的处理流程是怎么样的? -- 切换到临时库,创建测试表 use tempdb go c...

作者: alen88 发布时间: 09-16

增加排名列SQL语句(需排名的列值相等时排名相同)

sql 查询数据时按某列排序后增加排名列,需排名的列值相等时排名相同,即如需排名列数组为:9,9,8,7,7,6 添加的排名列数组需要显示为两种: 第一种:1,1,3,4,4,6 (这种排名方法应该是最普遍的排名方法啦) 或者 第二种:1,1,2,3,3,4 (某些特殊情况需要) --现在假设测试数据:创建临时表 #score 并插入数据 create table #score(id int, points float) --id...

作者: alen88 发布时间: 09-16

sqlserver 生成100万个不重复的10位随机数存入数据库

USE tempdb GO CREATE TABLE RandomNumber(Id char(10),IsUsed bit not null) CREATE UNIQUE INDEX IX_RandomNumber ON RandomNumber(Id) WITH IGNORE_DUP_KEY GO DECLARE @dt datetime SET @dt = GETDATE() SET NOCOUNT ON DECLARE @row int SET @row = 1000000 WHILE @row > 0 BEGIN RAISERROR( 'need %d rows ', 10, 1, @row) WITH NOWAIT SET ROWCOUNT @row INSERT Rand...

作者: alen88 发布时间: 09-16

SQL SERVER 数据库备份的三种策略及语句

1.全量数据备份 备份整个数据库,恢复时恢复所有。优点是简单,缺点是数据量太大,非常耗时 全数据库备份因为容易实施,被许多系统优先采用。在一天或一周中预定的时间进行全数据库备份使你不用动什么脑筋。使用这种类型的备份带来的问题是非常缺乏灵活性,而且当数据库被冲掉后,你面临丢失大量数据的潜在威胁。例如,假设你每天在午夜备份数据库。 如果服务器在晚上11点崩...

作者: alen88 发布时间: 09-16

DataStage中Job库函数

Basic操作符: 数学运算符:+, -, *, / 关系操作符:=, <, >, <=, => 逻辑操作符:And, Not, Or 连接操作符: ":" --"The employee's name is" : lname : "," : fname 截取字符串:String类型有这个属性,直接在字符串后面加[],标明起始,即可截取字符串 字符数组,从第一个开始,而不是从"0"开始。"String[star, length]" "APPL3245"[1,4] --> "APPL" "APPL3245"[5,2] -->...

作者: hxl 发布时间: 09-16