数据库
世逍遥
这个作者很懒,什么都没留下…
展开
-
数据库的悲观锁和乐观锁
一 :悲观锁(Pessimistic Locking) 悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中,将数据处于锁定 状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能 真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系 统不会修改数据)。原创 2015-07-22 17:51:36 · 297 阅读 · 0 评论 -
使用C3P0连接池释放当前连接
程序里用到C3P0连接池,用如下方法获取一个链接:_ds = new ComboPooledDataSource();...Connection conn = _ds.getConnection();而在释放链接的时候,我们一般是这样写的:conn.close(); 今天我突然感觉,如果这样释放连接,conn这个链接应该就完全关闭了,而原创 2015-10-04 18:34:02 · 9795 阅读 · 2 评论 -
insert into from和select from into的区别
乍一看这两个sql真的挺像的,无论从表面意思还是从执行结果来分析,他们干的事从性质上是一样的,都是从一个表中取数据,然后保存在另一个表中。但是他们还是有区别的:首先,我们来看一下insert into select语句,其语法形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1,这里的要原创 2015-09-24 14:01:27 · 534 阅读 · 0 评论 -
对DB做数据更新时,忘了加where条件不要慌
作为程序员,我们几乎都会和数据库打交道,在对数据库做数据更新时,你们有没有过忘记加where条件的惨痛经历?如果有,这会儿想想是不是想笑一笑?哈哈!如果没有,那么希望我的这篇帖子或多或少对你有点帮助,可以让你避免或者在遇到这种情况的时候不至于感觉天要塌下来了。对数据库的更新操作说白了就是add、update、delete。无论你是通过程序还是直接在DB客户端里敲sql命令,当遇到这种马虎错误时原创 2015-12-24 13:33:12 · 2257 阅读 · 0 评论 -
事务的分类
按事务的启动与执行方式,可以将事务分为3类: ①显示事务 :也称之为用户定义或用户指定的事务,即可以显式地定义启动和结束的事务。分布式事务属于显示事务 ②自动提交事务:默认事务管理模式。如果一个语句成功地完成,则提交该语句;如果遇到错误,则回滚该语句。 ③隐性事务:当连接以此模式进行操作时,sql将在提交或回滚当前事务后自动启动新事务。无须描述事务的开始,只需提交或回滚每个事务。原创 2016-03-17 10:54:28 · 5827 阅读 · 1 评论 -
事务的嵌套
在SqlServer里,嵌套事务的层次是由@@TranCount全局变量反映出来的。每一次Begin Transaction都会引起@@TranCount加1。而每一次Commit Transaction都会使@@TranCount减1,而RollBack Transaction会回滚所有的嵌套事务包括已经提交的事务和未提交的事务,而使@@TranCount置0。例如:Begin Transa转载 2016-03-17 11:49:54 · 1109 阅读 · 0 评论