![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
kingofase
这个作者很懒,什么都没留下…
展开
-
脏读、不可重复读和虚读
脏读 dirty reads:当事务读取还未被提交的数据时,就会发生这种事件。举例来说:Transaction 1 修改了一行数据,然后 Transaction 2 在 Transaction 1 还未提交修改操作之前读取了被修改的行。如果 Transaction 1 回滚了修改操作,那么 Transaction 2 读取的数据就可以看作是从未存在过的。 不可重复的读 non-repeat转载 2010-04-12 09:03:00 · 451 阅读 · 0 评论 -
Jdbc执行sql语句
通过JDBC连接Oracle数据库中的十大技巧 1、在客户端软件开发中使用Thin驱动程序 2、关闭自动提交功能,提高系统性能 在第一次建立与数据库的连接时,在缺省情况下,连接是在自动提交模式下的。为了获得更好的性能,可以通过调用带布尔值false参数的Connection类的setAutoCommit()方法关闭自动提交功能,如下所示:conn.setAutoCommit(fal原创 2010-04-12 09:10:00 · 5087 阅读 · 0 评论 -
数据库隔离级别
<br />在标准SQL规范中,定义了4个事务隔离级别,不同的隔离级别对事务的处理不同: <br />◆未授权读取(Read Uncommitted):允许脏读取,但不允许更新丢失。如果一个事务已经开始写数据,则另外一个数据则不允许同时进行写操作,但允许其他事务读此行数据。该隔离级别可以通过“排他写锁”实现。<br />◆授权读取(Read Committed):允许不可重复读取,但不允许脏读取。这可以通过“瞬间共享读锁”和“排他写锁”实现。读取数据的事务允许其他事务继续访问该行数据,但是未提交的写事务将会原创 2010-07-06 10:25:00 · 4054 阅读 · 0 评论 -
基于oracle的sql语句调优
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表. (2)WHERE子句中的连接顺序.: ORACLE采用自下而上的顺序解析WHERE原创 2010-07-07 08:50:00 · 519 阅读 · 0 评论 -
数据库设计的第三范式
数据库设计的第三范式 <br />关系数据库中的关系必须满足一定的要求。满足不同程度要求的为不同范式。数据库的设计范式是数据库设计所需要满足的规范。只有理解数据库的设计范式,才能设计出高效率、优雅的数据库,否则可能会设计出错误的数据库.<br />目前,主要有六种范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。满足最低要求的叫第一范式,简称1NF。在第一范式基础上进一步满足一些要求的为第二范式,简称2NF。其余依此类推。<br />范式可以避免数据冗余,减少数据库的空间,减轻维护数据完整性原创 2010-07-07 20:23:00 · 752 阅读 · 0 评论 -
MySQL常用操作语句
1、SHOW ENGINE INNODB STATUS 查看innodb下的ddl语句错误信息2、alter table [tablename] add constraint [constrain name] primary key ([column1]{column2,...})增加主键,主键可以是一列,也可以是多列组合,但一个表中只能有一个主键。3、alter table[table name] drop contraint [constraint name]删除主键约束4、alter table原创 2010-07-09 21:39:00 · 3824 阅读 · 1 评论 -
MySql 的unique key 与 primary key
<br />unique key :唯一,允许空值<br />primary key:唯一、非空原创 2010-07-09 21:41:00 · 636 阅读 · 0 评论 -
MySql、SqlServer、oracle分页实现
<br />Oracle: <br />SELECT * FROM( <br /> SELECT MY_TABLE.*, ROWNUMASMY_ROWNUMFROM( <br /> /**括号里写实际的需要查询的SQL语句**/<br /> )AS MYTABLE WHERE ROWNUM<=200/**这里是一页中的最后一条记录**/ <br />)WHERE MY_ROWNUM>=10/**这里是一页中的第一条记录**/ <br /> <br />SQLSe原创 2010-07-10 08:38:00 · 657 阅读 · 0 评论