急急急!!!数据库上锁类型.(100分)

  • 主题发起人 主题发起人 fgs
  • 开始时间 开始时间
F

fgs

Unregistered / Unconfirmed
GUEST, unregistred user!

有资料说:执行SQL语句来改变数据库内容时,不用担心上锁类型.
这种说法对吗?
最好详细解释一下数据库上锁类型的含义和使用方法,多谢!!
 
你先多看看数据库的书吧,三言两语讲不清。
 
在Delphi中,Table控件用的是表锁
也就是说,当你操作表中的数据时,整个表的数据都会被锁住,不能修改
而用SQL语句,一般是页锁,只会锁住该记录附近2k内的记录(SQL Server)
当然,也可修改锁的类型,这个说来话长,待哪天有空再说
 
对与ORACLE来说,当更新、删除记录时,系统会自动对该记录加锁,
操作完成(必须提交)后,会自动解锁。当然,也可人为的加锁,例如
select * from tablename where conditions for update 。
 
简单的说,用SQL语句可以使上羧的时间减少。
 
并发数据库一定有加锁问题,关于怎样解决是一个复杂的话题.请看看关于SQL的书.
 
数据库别名中的dirty read/write都与锁相关
锁主要是为了保持数据的一致性, 按粒度一般有表锁,页锁(sql server),
行锁, 字段锁等几级,按操作又分为独占(排他),共享等,他们是排列组合的,
对数据库的不同操作会引起dbms产生不同的锁.
我只能简单介绍一下, 你可找本书看看吧
 
多人接受答案了。
 
后退
顶部