魏_寒冰人

导航

2013年8月6日 #

锁的用处及脏读、不可重复读和幻觉读的概念

摘要: 原帖地址:http://blog.chinaunix.net/uid-742981-id-2055533.html锁就是防止其他事务访问指定的资源的手段。锁是实现并发控制的主要方法,是多个用户能够同时操纵同一个数据库中的数据而不发生数据不一致现象的重要保障。一般来说,锁可以防止脏读、不可重复读和幻觉读。 脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。 不可重复读是指在一个事务内,多次读同一数据 阅读全文

posted @ 2013-08-06 15:22 魏_寒冰人 阅读(344) 评论(0) 推荐(0) 编辑

2013年7月22日 #

truncate,delete,drop的异同点

摘要: 说明:本文摘自oracle技术用户讨论组truncate,delete,drop的异同点注意:这里说的delete是指不带where子句的delete语句 相同点:truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:1.truncate和delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相 阅读全文

posted @ 2013-07-22 09:59 魏_寒冰人 阅读(160) 评论(0) 推荐(0) 编辑

2013年7月10日 #

SYS与SYSTEM、DBA与SYSDBA的区别

摘要: SYS与SYSTEM:1. sys 的角色是sysdba system 的角色是sysoper2. sys 具有create database的权限 system没有该权限3. sys可以建数据字典的基表和视图,也能对其进行修改;system不能建数据字典的基表和视图.也不能对其进行修改4. sys、system都有dba权限用QQ群作个比喻,sys就相当于群主,system就相当于群管理员。DBA与SYSDBA:SYSDBA不是权限,当用户以SYSDBA身份登陆数据库时,登陆用户都会变成SYS。 SYSDBA身份登陆可以打开,关闭数据库,创建SPFILE,对数据库进行恢复操作等,而这些是DB 阅读全文

posted @ 2013-07-10 10:35 魏_寒冰人 阅读(2270) 评论(0) 推荐(0) 编辑

2013年7月9日 #

规避笛卡尔积

摘要: 笛卡尔积形成的条件:1.查询语句中漏掉了连接条件2.查询语句中两个表中的所有行都满足连接条件3.查询语句中的连接条件无效在实际工作中应该尽量的避免出现笛卡尔积,在多表连接查询语句的WHERE字句中,必须永远是用有效而正确的连接条件。举例说明:select * from a,b,c where a.i = c.i and c.i = b.i假设,我规定表JOIN的顺序是从左到右a到b,b到c那上面这个语句,虽然有两个关联条件,也会发生笛卡尔积因为a和b没有字段直接关联,a和b两个表就要先笛卡尔积了。正确写法:select*froma,b,cwherea.i=b.iandb.i=c.i那selec 阅读全文

posted @ 2013-07-09 15:41 魏_寒冰人 阅读(725) 评论(0) 推荐(0) 编辑