设为首页收藏本站

[PHP] DB2和Oracle的并发控制(锁)的比较_Oracle应用_脚本之家

[复制链接]
查看17 | 回复0 | 2005-6-8 08:10:34 | 显示全部楼层 |阅读模式
DB2和 Oracle的并发控制(锁)的比较

1 引言
在关系数据库(DB2,Oracle,Sybase,Informix和SQL Server)最小的恢复和交易单位为一个事务(Transactions),事务具有ACID(原子性,一致性,隔离性和永久性)特征。关系数据库为了确保并发用户在存取同一数据库对象时的正确性(即无丢失更新、可重复读、不读"脏"数据,无"幻像"读),数据库中引入了并发(锁)机制。基本的锁类型有两种:排它锁(Exclusive locks记为X锁)和共享锁(Share locks记为S锁)。
排它锁:若事务T对数据D加X锁,则其它任何事务都不能再对D加任何类型的锁,直至T释放D上的X锁;一般要求在修改数据前要向该数据加排它锁,所以排它锁又称为写锁。
共享锁:若事务T对数据D加S锁,则其它事务只能对D加S锁,而不能加X锁,直至T释放D上的S锁;一般要求在读取数据前要向该数据加共享锁,所以共享锁又称为读锁。
2 DB2 多粒度封锁机制介绍
2.1 锁的对象
DB2支持对表空间、表、行和索引加锁(大型机上的数据库还可以支持对数据页加锁)来保证数据库的并发完整性。不过在考虑用户应用程序的并发性的问题上,通常并不检查用于表空间和索引的锁。该类问题分析的焦点在于表锁和行锁。
2.2 锁的策略
DB2可以只对表进行加锁,也可以对表和表中的行进行加锁。如果只对表进行加锁,则表中所有的行都受到同等程度的影响。如果加锁的范围针对于表及下属的行,则在对表加锁后,相应的数据行上还要加锁。究竟应用程序是对表加行锁还是同时加表锁和行锁,是由应用程序执行的命令和系统的隔离级别确定。
2.2.1 DB2表锁的模式
DB2在表一级加锁可以使用以下加锁方式:
表一:DB2数据库表锁的模式
下面对几种表锁的模式进一步加以阐述:
IS、IX、SIX方式用于表一级并需要行锁配合,他们可以阻止其他应用程序对该表加上排它锁。
• 如果一个应用程序获得某表的IS锁,该应用程序可获得某一行上的S锁,用于只读操作,同时其他应用程序也可以读取该行,或是对表中的其他行进行更改。
• 如果一个应用程序获得某表的IX锁,该应用程序可获得某一行上的X锁,用于更改操作,同时其他应用程序可以读取或更改表中的其他行。
• 如果一个应用程序获得某表的SIX锁,该应用程序可以获得某一行上的X锁,用于更改操作,同时其他应用程序只能对表中其他行进行只读操作。
S、U、X和Z方式用于表一级,但并不需要行锁配合,是比较严格的表加锁策略。
• 如果一个应用程序得到某表的S锁。该应用程序可以读表中的任何数据。同时它允许其他应用程序获得该表上的只读请求锁。如果有应用程序需要更改读该表上的数据,必须等S锁被释放。
• 如果一个应用程序得到某表的U锁,该应用程序可以读表中的任何数据,并最终可以通过获得表上的X锁来得到对表中任何数据的修改权。其他应用程序只能读取该表中的数据。U锁与S锁的区别主要在于更改的意图上。U锁的设计主要是为了避免两个应用程序在拥有S锁的情况下同时申请X锁而造成死锁的。
• 如果一个应用程序得到某表上的X锁,该应用程序可以读或修改表中的任何数据。其他应用程序不能对该表进行读或者更改操作。
• 如果一个应用程序得到某表上的Z锁,该应用程序可以读或修改表中的任何数据。其他应用程序,包括未提交读程序都不能对该表进行读或者更改操作。
IN锁用于表上以允许未提交读这一概念。
2.2.2 DB2行锁的模式
除了表锁之外,DB2还支持以下几种方式的行锁。
表二:DB2数据库行锁的模式
2.2.3 DB2锁的兼容性
表三:DB2数据库表锁的相容矩阵

表四:DB2数据库行锁的相容矩阵
下表是笔者总结了DB2中各SQL语句产生表锁的情况(假设缺省的隔离级别为CS):

2.3 DB2锁的升级
每个锁在内存中都需要一定的内存空间,为了减少锁需要的内存开销,DB2提供了锁升级的功能。锁升级是通过对表加上非意图性的表锁,同时释放行锁来减少锁的数目,从而达到减少锁需要的内存开销的目的。锁升级是由数据库管理器自动完成的,有两个数据库的配置参数直接影响锁升级的处理:
locklist--在一个数据库全局内存中用于锁存储的内存。单位为页(4K)。
maxlocks--一个应用程序允许得到的锁占用的内存所占locklist大小的百分比。
锁升级会在这两种情况下被触发:
• 某个应用程序请求的锁所占用的内存空间超出了maxlocks与locklist的乘积大小。这时,数据库管理器将试图通过为提出锁请求的应用程序申请表锁,并释放行锁来节省空间。
• 在一个数据库中已被加上的全部锁所占的内存空间超出了locklist定义的大小。这时,数据库管理器也将试图通过为提出锁请求的应用程序申请表锁,并释放行锁来节省空间。
• 锁升级虽然会降低OLTP应用程序的并发性能,但是锁升级后会释放锁占有内存并增大可用的锁的内存空间。
锁升级是有可能会失败的,比如,现在一个应用程序已经在一个表上加有IX锁,表中的某些行上加有X锁,另一个应用程序又来请求表上的IS锁,以及很多行上的S锁,由于申请的锁数目过多引起锁的升级。数据库管理器试图为该应用程序申请表上的S锁来减少所需要的锁的数目,但S锁与表上原有的IX锁冲突,锁升级不能成功。
如果锁升级失败,引起锁升级的应用程序将接到一个-912的SQLCODE。在锁升级失败后,DBA应该考虑增加locklist的大小或者增大maxlocks的百分比。同时对编程人员来说可以在程序里对发生锁升级后程序回滚后重新提交事务(例如:if sqlca.sqlcode=-912 then rollback and retry等)。
3 Oracle 多粒度锁机制介绍
根据保护对象的不同,Oracle数据库锁可以分为以下几大类:
(1) DML lock(data locks,数据锁):用于保护数据的完整性;
(2) DDL lock(dictionary locks,字典锁):用于保护数据库对象的结构(例如表、视图、索引的结构定义);
(3) Internal locks 和latches(内部锁与闩):保护内部数据库结构;
(4) Distributed locks(分布式锁):用于OPS(并行服务器)中;
(5) PCM locks(并行高速缓存管理锁):用于OPS(并行服务器)中。
在Oracle中最主要的锁是DML(也可称为data locks,数据锁)锁。从封锁粒度(封锁对象的大小)的角度看,Oracle DML锁共有两个层次,即行级锁和表级锁。
3.1 Oracle的TX锁(行级锁、事务锁)
许多对Oracle不太了解的技术人员可能会以为每一个TX锁代表一条被封锁的数据行,其实不然。TX的本义是Transaction(事务),当一个事务第一次执行数据更改(Insert、Update、Delete)或使用SELECT… FOR UPDATE语句进行查询时,它即获得一个TX(事务)锁,直至该事务结束(执行COMMIT或ROLLBACK操作)时,该锁才被释放。所以,一个TX锁,可以对应多个被该事务锁定的数据行(在我们用的时候多是启动一个事务,然后SELECT… FOR UPDATE NOWAIT)。
在Oracle的每行数据上,都有一个标志位来表示该行数据是否被锁定。Oracle不像DB2那样,建立一个链表来维护每一行被加锁的数据,这样就大大减小了行级锁的维护开销,也在很大程度上避免了类似DB2使用行级锁时经常发生的锁数量不够而进行锁升级的情况。数据行上的锁标志一旦被置位,就表明该行数据被加X锁,Oracle在数据行上没有S锁。
3.2 TM锁(表级锁)
3.2.1 意向锁的引出
表是由行组成的,当我们向某个表加锁时,一方面需要检查该锁的申请是否与原有的表级锁相容;另一方面,还要检查该锁是否与表中的每一行上的锁相容。比如一个事务要在一个表上加S锁,如果表中的一行已被另外的事务加了X锁,那么该锁的申请也应被阻塞。如果表中的数据很多,逐行检查锁标志的开销将很大,系统的性能将会受到影响。为了解决这个问题,可以在表级引入新的锁类型来表示其所属行的加锁情况,这就引出了"意向锁"的概念。
意向锁的含义是如果对一个结点加意向锁,则说明该结点的下层结点正在被加锁;对任一结点加锁时,必须先对它的上层结点加意向锁。如:对表中的任一行加锁时,必须先对它所在的表加意向锁,然后再对该行加锁。这样一来,事务对表加锁时,就不再需要检查表中每行记录的锁标志位了,系统效率得以大大提高。
3.2.2 意向锁的类型
由两种基本的锁类型(S锁、X锁),可以自然地派生出两种意向锁:
意向共享锁(Intent Share Lock,简称IS锁):如果要对一个数据库对象加S锁,首先要对其上级结点加IS锁,表示它的后裔结点拟(意向)加S锁;
意向排它锁(Intent Exclusive Lock,简称IX锁):如果要对一个数据库对象加X锁,首先要对其上级结点加IX锁,表示它的后裔结点拟(意向)加X锁。
另外,基本的锁类型(S、X)与意向锁类型(IS、IX)之间还可以组合出新的锁类型,理论上可以组合出4种,即:S+IS,S+IX,X+IS,X+IX,但稍加分析不难看出,实际上只有S+IX有新的意义,其它三种组合都没有使锁的强度得到提高(即:S+IS=S,X+IS=X,X+IX=X,这里的"="指锁的强度相同)。所谓锁的强度是指对其它锁的排斥程度。
这样我们又可以引入一种新的锁的类型:
共享意向排它锁(Shared Intent Exclusive Lock,简称SIX锁):如果对一个数据库对象加SIX锁,表示对它加S锁,再加IX锁,即SIX=S+IX。例如:事务对某个表加SIX锁,则表示该事务要读整个表(所以要对该表加S锁),同时会更新个别行(所以要对该表加IX锁)。
这样数据库对象上所加的锁类型就可能有5种:即S、X、IS、IX、SIX。
具有意向锁的多粒度封锁方法中任意事务T要对一个数据库对象加锁,必须先对它的上层结点加意向锁。申请封锁时应按自上而下的次序进行;释放封锁时则应按自下而上的次序进行;具有意向锁的多粒度封锁方法提高了系统的并发度,减少了加锁和解锁的开销。
3.3 Oracle的TM锁(表级锁)
Oracle的DML锁(数据锁)正是采用了上面提到的多粒度封锁方法,其行级锁虽然只有一种(即X锁),但其TM锁(表级锁)类型共有5种,分别称为共享锁(S锁)、排它锁(X锁)、行级共享锁(RS锁)、行级排它锁(RX锁)、共享行级排它锁(SRX锁),与上面提到的S、X、IS、IX、SIX相对应。需要注意的是,由于Oracle在行级只提供X锁,所以与RS锁(通过SELECT … FOR UPDATE语句获得)对应的行级锁也是X锁(但是该行数据实际上还没有被修改),这与理论上的IS锁是有区别的。锁的兼容性是指当一个应用程序在表(行)上加上某种锁后,其他应用程序是否能够在表(行)上加上相应的锁,如果能够加上,说明这两种锁是兼容的,否则说明这两种锁不兼容,不能对同一数据对象并发存取。
下表为Oracle数据库TM锁的兼容矩阵(Y=Yes,表示兼容的请求; N=No,表示不兼容的请求;-表示没有加锁请求):
表五:Oracle数据库TM锁的相容矩阵
一方面,当Oracle执行SELECT…FOR UPDATE、INSERT、UPDATE、DELETE等DML语句时,系统自动在所要操作的表上申请表级RS锁(SELECT…FOR UPDATE)或RX锁(INSERT、UPDATE、DELETE),当表级锁获得后,系统再自动申请TX锁,并将实际锁定的数据行的锁标志位置位(指向该TX锁);另一方面,程序或操作人员也可以通过LOCK TABLE语句来指定获得某种类型的TM锁。下表是笔者总结了Oracle中各SQL语句产生TM锁的情况:
表六:Oracle数据库TM锁小结
我们可以看到,通常的DML操作(SELECT…FOR UPDATE、INSERT、UPDATE、DELETE),在表级获得的只是意向锁(RS或RX),其真正的封锁粒度还是在行级;另外,Oracle数据库的一个显著特点是,在缺省情况下,单纯地读数据(SELECT)并不加锁,Oracle通过回滚段(Rollback segment)来保证用户不读"脏"数据。这些都提高了系统的并发程度。
由于意向锁及数据行上锁标志位的引入,减小了Oracle维护行级锁的开销,这些技术的应用使Oracle能够高效地处理高度并发的事务请求。
4 DB2多粒度封锁机制的监控
在DB2中对锁进行监控主要有两种方式,第一种方式是快照监控,第二种是事件监控方式。
4.1 快照监控方式
当使用快照方式进行锁的监控前,必须把监控锁的开关打开,可以从实例级别和会话级别打开,具体命令如下:
db2 update dbm cfg using dft_mon_lock on(实例级别)
db2 update monitor switches using lock on(会话级别,推荐使用)
当开关打开后,可以执行下列命令来进行锁的监控
db2 get snapshot for locks on ebankdb(可以得到当前数据库中具体锁的详细信息)
db2 get snapshot for locks on ebankdb
Fri Aug 15 15:26:00 JiNan 2004(红色为锁的关键信息)

Database Lock Snapshot
Database name = DEV
Database path = /db2/DEV/db2dev/NODE0000/SQL00001/
Input database alias = DEV
Locks held = 49
Applications currently cOnnected= 38
Agents currently waiting on locks = 6
Snapshot timestamp = 08-15-2003 15:26:00.951134
Application handle = 6
Application ID = *LOCAL.db2dev.030815021007
Sequence number = 0001
Application name = disp+work
Authorization ID = SAPR3
Application status = UOW Waiting
Status change time =
Application code page = 819
Locks held = 0
Total wait time (ms) = 0
Application handle = 97
Application ID = *LOCAL.db2dev.030815060819
Sequence number = 0001
Application name = tp
Authorization ID = SAPR3
Application status = Lock-wait
Status change time = 08-15-2003 15:08:20.302352
Application code page = 819
Locks held = 6
Total wait time (ms) = 1060648
Subsection waiting for lock = 0
ID of agent holding lock = 100
Application ID holding lock = *LOCAL.db2dev.030815061638
Node lock wait occurred on = 0
Lock object type = Row
Lock mode = Exclusive Lock (X)
Lock mode requested = Exclusive Lock (X)
Name of tablespace holding lock = PSAPBTABD
Schema of table holding lock = SAPR3
Name of table holding lock = TPLOGNAMES
Lock wait start timestamp = 08-15-2003 15:08:20.302356
Lock is a result of escalation = NO
List Of Locks
Lock Object Name = 29204
Node number lock is held at = 0
Object Type = Table
Tablespace Name = PSAPBTABD
Table Schema = SAPR3
Table Name = TPLOGNAMES
Mode = IX
Status = Granted
Lock Escalation = NO

db2 get snapshot for database on dbname |grep -i locks(UNIX,LINUX平台)

Locks held currently = 7
Lock waits = 75
Time database waited on locks (ms) = 82302438
Lock list memory in use (Bytes) = 20016
Deadlocks detected = 0
Lock escalatiOns= 8
Exclusive lock escalatiOns= 8
Agents currently waiting on locks = 0
Lock Timeouts = 20
db2 get snapshot for database on dbname |find /i "locks"(NT平台)
db2 get snapshot for locks for applications agentid 45(注:45为应用程序句柄)

Application handle = 45
Application ID = *LOCAL.db2dev.030815021827
Sequence number = 0001
Application name = tp
Authorization ID = SAPR3
Application status = UOW Waiting
Status change time =
Application code page = 819
Locks held = 7
Total wait time (ms) = 0
List Of Locks
Lock Object Name = 1130185838
Node number lock is held at = 0
Object Type = Key Value
Tablespace Name = PSAPBTABD
Table Schema = SAPR3
Table Name = TPLOGNAMES
Mode = X
Status = Granted
Lock Escalation = NO
Lock Object Name = 14053937
Node number lock is held at = 0
Object Type = Row
Tablespace Name = PSAPBTABD
Table Schema = SAPR3
Table Name = TPLOGNAMES
Mode = X
Status = Granted
Lock Escalation = NO

也可以执行下列表函数(注:在DB2 V8之前只能通过命令,DB2 V8后可以通过表函数,推荐使用表函数来进行锁的监控)
db2 select * from table(snapshot_lock('DBNAME',-1)) as locktable监控锁信息
db2 select * from table(snapshot_lockwait('DBNAME',-1) as lock_wait_table监控应用程序锁等待的信息
4.2 事件监控方式:
当使用事件监控器进行锁的监控时候,只能监控死锁(死锁的产生是因为由于锁请求冲突而不能结束事务,并且该请求冲突不能够在本事务内解决。通常是两个应用程序互相持有对方所需要的锁,在得不到自己所需要的锁的情况下,也不会释放现有的锁)的情况,具体步骤如下:
db2 create event monitor dlock for deadlocks with details write to file '$HOME/dir'
db2 set event monitor dlock state 1
db2evmon -db dbname -evm dlock看具体的死锁输出(如下图)

Deadlocked Connection ...
Deadlock ID: 4
Participant no.: 1
Participant no. holding the lock: 2
Appl Id: G9B58B1E.D4EA.08D387230817
Appl Seq number: 0336
Appl Id of connection holding the lock: G9B58B1E.D573.079237231003
Seq. no. of connection holding the lock: 0126
Lock wait start time: 06/08/2005 08:10:34.219490
Lock Name : 0x000201350000030E0000000052
Lock Attributes : 0x00000000
Release Flags : 0x40000000
Lock Count : 1
Hold Count : 0
Current Mode : NS - Share (and Next Key Share)
Deadlock detection time: 06/08/2005 08:10:39.828792
Table of lock waited on : ORDERS
Schema of lock waited on : DB2INST1
Tablespace of lock waited on : USERSPACE1
Type of lock: Row
Mode of lock: NS - Share (and Next Key Share)
Mode application requested on lock: X - Exclusive
Node lock occured on: 0
Lock object name: 782
Application Handle: 298
Deadlocked Statement:
Type : Dynamic
Operation: Execute
Section : 34
Creator : NULLID
Package : SYSSN300
Cursor : SQL_CURSN300C34
Cursor was blocking: FALSE
Text : UPDATE ORDERS SET TOTALTAX = ?, TOTALSHIPPING = ?,
LOCKED = ?, TOTALTAXSHIPPING = ?, STATUS = ?, FIELD2 = ?, TIMEPLACED = ?,
FIELD3 = ?, CURRENCY = ?, SEQUENCE = ?, TOTALADJUSTMENT = ?, ORMORDER = ?,
SHIPASCOMPLETE = ?, PROVIDERORDERNUM = ?, TOTALPRODUCT = ?, DESCRIPTION = ?,
MEMBER_ID = ?, ORGENTITY_ID = ?, FIELD1 = ?, STOREENT_ID = ?, ORDCHNLTYP_ID = ?,
ADDRESS_ID = ?, LASTUPDATE = ?, COMMENTS = ?, NOTIFICATIOnID= ? WHERE ORDERS_ID = ?
List of Locks:
Lock Name : 0x000201350000030E0000000052
Lock Attributes : 0x00000000
Release Flags : 0x40000000
Lock Count : 2
Hold Count : 0
Lock Object Name : 782
Object Type : Row
Tablespace Name : USERSPACE1
Table Schema : DB2INST1
Table Name : ORDERS
Mode : X - Exclusive
Lock Name : 0x00020040000029B30000000052
Lock Attributes : 0x00000020
Release Flags : 0x40000000
Lock Count : 1
Hold Count : 0
Lock Object Name : 10675
Object Type : Row
Tablespace Name : USERSPACE1
Table Schema : DB2INST1
Table Name : BKORDITEM
Mode : X - Exclusive(略去后面信息)
5 Oracle 多粒度封锁机制的监控
为了监控Oracle系统中锁的状况,我们需要对几个系统视图有所了解:
5.1 v$lock视图
v$lock视图列出当前系统持有的或正在申请的所有锁的情况,其主要字段说明如下:
表七:v$lock视图主要字段说明
其中在TYPE字段的取值中,本文只关心TM、TX两种DML锁类型;
5.2 v$locked_object视图
v$locked_object视图列出当前系统中哪些对象正被锁定,其主要字段说明如下:
表八:v$locked_object视图字段说明
5.3 Oracle锁监控脚本
根据上述系统视图,可以编制脚本来监控数据库中锁的状况。
5.3.1 showlock.sql
第一个脚本showlock.sql,该脚本通过连接v$locked_object与all_objects两视图,显示哪些对象被哪些会话锁住:

/* showlock.sql */
column o_name format a10
column lock_type format a20
column object_name format a15
select rpad(oracle_username,10) o_name,session_id sid,
decode(locked_mode,0,'None',1,'Null',2,'Row share',
3,'Row Exclusive',4,'Share',5,'Share Row Exclusive',6,'Exclusive') lock_type,
object_name ,xidusn,xidslot,xidsqn
from v$locked_object,all_objects
where v$locked_object.object_id=all_objects.object_id;
5.3.2 showalllock.sql
第二个脚本showalllock.sql,该脚本主要显示当前所有TM、TX锁的信息;

/* showalllock.sql */
select sid,type,id1,id2,
decode(lmode,0,'None',1,'Null',2,'Row share',
3,'Row Exclusive',4,'Share',5,'Share Row Exclusive',6,'Exclusive')
lock_type,request,ctime,block
from v$lock
where TYPE IN('TX','TM');
6 DB2 多粒度封锁机制示例
以下示例均运行在DB2 UDB中,适用所有数据库版本。首先打开三个命令行窗口(DB2 CLP),其中两个(以下用SESS#1、SESS#2表示)以db2admin用户连入数据库,以操作SAMPLE库中提供的示例表(employee);另一个(以下用SESS#3表示)以db2admin用户连入数据库,对执行的每一种类型的SQL语句监控加锁的情况;希望读者通过这种方式对每一种类型的SQL语句监控加锁的情况。(因为示例篇幅很大,笔者在此就不做了,建议读者用类似方法验证加锁情况)

/home/db2inst1>db2 +c update employee set comm=9999(SESS#1)
/home/db2inst1>db2 +c select * from employee(SESS#2处于lock wait)
/home/db2inst1>db2 +c get snapshot for locks on sample(SESS#3监控加锁情况)
注:db2 +c为不自动提交(commit)SQL语句,也可以通过 db2 update command options using c off关闭自动提交(autocommit,缺省是自动提交)
7 总结
总的来说,DB2的锁和Oracle的锁主要有以下大的区别:
1.Oracle通过具有意向锁的多粒度封锁机制进行并发控制,保证数据的一致性。其DML锁(数据锁)分为两个层次(粒度):即表级和行级。通常的DML操作在表级获得的只是意向锁(RS或RX),其真正的封锁粒度还是在行级;DB2也是通过具有意向锁的多粒度封锁机制进行并发控制,保证数据的一致性。其DML锁(数据锁)分为两个层次(粒度):即表级和行级。通常的DML操作在表级获得的只是意向锁(IS,SIX或IX),其真正的封锁粒度也是在行级;另外,在Oracle数据库中,单纯地读数据(SELECT)并不加锁,这些都提高了系统的并发程度,Oracle强调的是能够"读"到数据,并且能够快速的进行数据读取。而DB2的锁强调的是"读一致性",进行读数据(SELECT)时会根据不同的隔离级别(RR,RS,CS)而分别加S,IS,IS锁,只有在使用UR隔离级别时才不加锁。从而保证不同应用程序和用户读取的数据是一致的。
2. 在支持高并发度的同时,DB2和Oracle对锁的操纵机制有所不同:Oracle利用意向锁及数据行上加锁标志位等设计技巧,减小了Oracle维护行级锁的开销,使其在数据库并发控制方面有着一定的优势。而DB2中对每个锁会在锁的内存(locklist)中申请分配一定字节的内存空间,具体是X锁64字节内存,S锁32字节内存(注:DB2 V8之前是X锁72字节内存而S锁36字节内存)。
3. Oracle数据库中不存在锁升级,而DB2数据库中当数据库表中行级锁的使用超过locklist*maxlocks会发生锁升级。
4. 在Oracle中当一个session对表进行insert,update,delete时候,另外一个session仍然可以从Orace回滚段或者还原表空间中读取该表的前映象(before image); 而在DB2中当一个session对表进行insert,update,delete时候,另外一个session仍然在读取该表数据时候会处于lock wait状态,除非使用UR隔离级别可以读取第一个session的未提交的值;所以Oracle同一时刻不同的session有读不一致的现象,而DB2在同一时刻所有的session都是"读一致"的。
8 结束语
DB2中关于并发控制(锁)的建议
1.正确调整locklist,maxlocks,dlchktime和locktimeout等和锁有关的数据库配置参数(locktimeout最好不要等于-1)。如果锁内存不足会报SQL0912错误而影响并发。
2.写出高效而简洁的SQL语句(非常重要)。
3.在业务逻辑处理完后尽可能快速commit释放锁。
4.对引起锁等待(SQL0911返回码68)和死锁(SQL0911返回码2)的SQL语句创建最合理的索引(非常重要,尽量创建复合索引和包含索引)。
5.使用 altER TABLE 语句的 LOCKSIZE 参数控制如何在持久基础上对某个特定表进行锁定。检查syscat.tables中locksize字段,尽量在符合业务逻辑的情况下,每个表中该字段为"R"(行级锁)。
6.根据业务逻辑使用正确的隔离级别(RR,RS,CS和UR)。
7.当执行大量更新时,更新之前,在整个事务期间锁定整个表(使用 SQL LOCK TABLE 语句)。这只使用了一把锁从而防止其它事务进行这些更新,但是对于其他用户它的确减少了数据并发性。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关键词 游戏源码 源码 网站源码 小程序源码 app源码 源码之家 源码资本 棋牌源码 源码网 源码时代 php源码 阿奇源码 源码下载 刀客源码 源码是什么 源码论坛 易语言源码 论坛源码 源码交易 java源码 源码中国 商城源码 asp源码 影视源码 源码站 安卓源码 时时彩源码 站长源码 a5源码 源码分享 网站源码下载 企业网站源码 android源码下载 php 源码 php源码下载 免费源码 asp源码下载 个人主页源码 网址导航源码 手游源码 源码天空 c源码 源码熊 asp 源码 在线客服源码 商业源码 精品源码 个人网站源码 asp网站源码 博客源码 私服源码 vb源码 aspnet源码 中国源码 cms源码 视频网站源码 易语言源码大全 神马影院php源码 c#源码 net源码 网页游戏源码 软件源码 源码哥 在线考试系统源码 安卓源码下载 源码库 源码爱好者 源码资源网 php网站源码 商业源码网 音乐网站源码 导航网站源码 源码商城 钓鱼网站源码 熊猫烧香源码 门户网站源码 .net源码 web源码 彩票源码 代刷网源码 小说网站源码 delphi源码 在线客服系统源码 整站源码 交友源码 房产网源码 广告联盟源码 aspnet 源码 源码社区 学校网站源码 公司网站源码 775源码屋 源码吧 新闻网站源码 云购源码 源码交易网 淘客源码 vb源码下载 股海网指标公式源码 通达信指标公式源码 源码集合 vip源码 电脑维修网站源码 web游戏源码 酷源码 彩票网站源码 源码程序 创业网站源码 asp.net源码 net源码下载 vbnet源码 亿乐社区源码 易语言源码网 源码超市 卖源码 电影网站源码 404源码社区 旅游网站源码 源码出售 flash源码 h站源码 net网站源码 网络公司源码 android游戏源码 莎莎源码 旅游网站源码下载 asp.net 源码 jsp源码 游戏源码网 网页源码 android源码 表白网站源码 淘宝客网站源码 棋牌源码论坛 易语言qq源码 表白网站源码大全 psd源码 易语言源码大全 卡盟源码带分站 狗扑源码 yy头像源码 淘宝客源码 51aspx源码 手机网站源码 love源码 易语言钓鱼源码 一元云购源码 一元夺宝源码 a5源码网 外星人源码 易语言游戏源码 苍老师高清种子源码 直播源码 云矿机源码分享 装修erp管理系统源码 vscode 源码解析 淘宝asp源码 seaweedfs源码分析 贪吃蛇大作战 ts 源码 陕西挖坑源码 全本书屋免费源码 数据结构java源码 淘客返现源码 网站登陆界面源码 视频学习网站源码 微信小程序源码可靠吗 999朵玫瑰花表白源码 linux fork源码 源码hostsir 友情链接平台 源码 易语言电话源码 源码 数码 商城 易语言 留言源码 淘宝公式源码 溯源码有假的吗 源码 编辑器控件 c 控件源码 小程序源码导入修改 下载站网站源码 dede网站源码 dnf辅助源码附带模块 rss 订阅 源码 qq钓鱼源码怎么用 p2p searcher源码 怎样打开asp源码 qq飞车抽奖辅助源码 t9输入法源码 qq粒子头像源码下载 svip源码论坛 vb源码 2000 仿刀塔传奇 源码 百度vb源码例子 次世代音频源码 仿92直播源码 安卓 电话本源码 天下通源码 如何更该html源码怎么 单页源码程序 淘宝上源码是什么 如何修改exe程序源码 商业进销存源码 软件源码破解 春哥源码邀请码 八位源码表示范围 天书奇谈 辅助 源码 楠秀直播源码 微信 小说 付费 源码 ddx多个周期指标源码 头像psd源码打包下载 童装网站源码 同城交友完美整站源码 网站群源码 网站证书编号查询源码 土豆播放器源码 坦克宝贝全套源码 树形菜单 源码 透明flash源码 十字绣 网站源码 图书销售源码 探花教程网源码下载 网站工具源码 手机psd源码 手机qq 源码 网页gps定位源码 微信消息恢复源码 视频聊天室源码asp 斗牛源码价格 荣耀原生java影视app源码 59pic美女图片源码 php人事管理系统源码 labview源码 易支付网站源码 dnf驱动源码 爱秀直播诱导源码 applem2引擎全套源码 小程序 分销商城源码 cocos2dx lua游戏源码 易语言窗口同步器源码 烈火雄心 gotv 源码 ionic 项目源码 fd源码教程 c p2p 源码 织梦旅游网站源码 foxtable erp源码 jar包源码查看工具 jsp框架源码 醉八仙登录器源码 jquery源码学习笔记 unity开发3d麻将源码 js天猫抓娃娃游戏源码 jdk6.0 源码 java 团购网 源码 lpk.dll源码 javaee.jar源码 flash源码短片下载 java网站 源码 dhcp server 源码 flv播放器源码下载 jsp api源码 html课程表源码 dnf箱子源码 永利娱乐系统源码搭建 ssh项目源码下载 jvm 源码下载 java在线支付源码 java实现发帖页面源码 java捕鱼达人免费源码 jpeg 源码 blog 租房网站源码下载 通达信盘中选股源码 jsp源码出现乱码 中国 商业 源码 征婚交友网站源码合买 google talk 源码 unity3d源码下载 统计语言模型 源码 rockplayer 源码 微信公众号asp源码安装 文件源码 重发软件源码 linux 源码解析 openerp 源码 nehe opengl 源码 中国源码基地 android java源码 文字直播源码 文件下载 源码 物业源码pb csdn qq炫舞卡八音 源码 ons交友源码 phpcms源码文件 ok168源码 代理网站源码 带网上充值功能 源码 安卓相册源码 仿猎聘网源码 八批psd头像源码 出售vb源码 爱购物电子商城源码 个人门户网站源码 安卓新闻客户端源码 高仿蘑菇街源码 底部异动k线源码 爱情黑页源码 超级病毒源码 搜猫x源码下载 淘宝首页 源码 美女 数字卡盟网站源码 天空源码社区 汕头招聘源码 办公app源码 头像 源码 皮肤 全站源码下载 输入法 源码 投资网源码 淘宝出售源码 淘宝相册 源码 深度网站导航源码 java easyui项目源码 20秀诱导直播源码 咸鱼源码 dsa善领源码 ghost远控源码详讲 android源码 打包下载 flapmmo源码 java 源码交易 flash网站整站源码xml h.264源码解析 asp企业源码html 燕窝溯源码 访问次数 apicloud demo源码 javah 源码 flash 源码 翻页 emoi源码 dedecms官方网站源码 hao123整站源码 flex 游戏 源码 ibos 源码 ios手机麻将源码 flash as3 源码下载 数字代币源码 centos源码包下载网站 jsp mvc 源码 java 高效获取url源码 flash留言板源码下载 h站源码共享 flash透明素材源码 jsp网站开发源码 整形美容网站源码 java源码 电子商务 ios 网易新闻 源码 ie 查看源码快捷键 j2me浏览器源码 万挂作坊全套源码 go9go源码 java web完整项目源码 java 地图源码 支撑压力线源码 网络祭祀网站源码 源码天空密码 php 心愿墙系统源码 竞猜 源码 java 中国餐饮技术网源码 网站分类目录 源码 乌龙学院 源码 h5酒店预订系统源码 opc client 源码 psd空间源码 qq三国源码 qq钓鱼软件源码.rar qq屋动态空间源码 直销源码修改 qq 乐园 源码 ps源码图 网上售书系统源码 制作dnf自动喊话源码 qq业务网站源码v3 运行jquery源码 ssh 项目源码 pdf to excel 源码 源码软件下载 python毕设源码 discuz 验证码 源码 移动端h5页面源码下载 网易彩票源码 门店展示 小程序源码 下吧源码 qq刷赞平台网站源码 拼团app源码下载 网站源码wgwzs 系统 订单 源码 微擎会员卡源码 寻源码 建站 网站格子店铺源码下载 源码库 开源中国 夜魅直播源码 网速测试源码 远程木马 源码 优酷 土豆 源码 图像 vb 源码 虚拟网店源码 物通网源码 微品秀 源码下载 dota类网页游戏源码 firefox 源码解析 javascript程序源码 flash宣传动画源码 flash3d游戏源码 g722 源码 gdal 源码 srtm java 8583 源码 flash图片源码 java flex源码下载 装修crm 源码 flash源码查看器 站长吧源码社区 dj网站源码代 e语言验证码源码 中国商业源码 sgl查看工具源码 doom3源码分析 flash引导页源码 filemon 源码 java calendar源码 delphi 应用教程 源码 c 标签打印源码 中国服装网 源码 网络爬虫 源码 xpay 个人收款 源码 在线祝福网站源码 炫 办卡网贷平台 源码 网页源码 改 asp网页 源码 逐浪cms源码 红包流水统计源码 网络公司asp源码 万挂作坊4.x源码 在线录制视频 源码 整人域名源码 php 短信平台 源码 ogre 源码 qq号源码 php天气源码下载 中国龙flash网站源码 python的exe源码分析 育儿网源码 带数据 qq空间皮肤3d源码下载 支撑线源码 直播8源码 qq上线远控源码 协同过滤算法源码 武林delphi源码 校园表白小程序源码 在线视频点播java源码 彩虹代刷网源码4.2 场地预约 php源码 struts2网站源码 android su源码 vb 商业程序源码 2018汪年全家福 源码 html5连连看源码 h5抓娃娃机源码 彩虹易支付app源码 java嗅探源码 html编辑器asp源码 gcov 开源 源码 idc 网站 源码 html页面显示源码 dnf秒拍卖源码 iphoneqq协议源码 flash源码下载网站 找你妹源码 e语言笔记加密源码 ie 10 察看源码 asp店铺源码免费下载 jsp源码库存管理 jetty 源码 下载 asp小游戏源码 java连接数据库源码 java sdk源码 flash带后台源码 html 静态页面源码 idc网站源码支付 ip地址查询 源码 iphoneqq在线软件源码 hibernate3源码下载 jvm源码下载 ftp工具上传网站源码 如何把安卓源码变成apk h5万人猜源码 个股指标公式源码 彩虹代刷网源码美化 动态源码语言排行 dedecms笑话 源码 windows锁屏截屏源码 flash请柬源码 eclipse源码下载 flash站源码 js树形结构源码 html 制作 源码 jsp 网上商城源码 新闻大数据爬取源码 ethtool 源码 ios 股票 源码 招聘职位源码 dnf后台喊话源码 dw聊天室源码 gtk 源码下载 iphone开发源码 android 2.2源码 web表白 程序源码知乎 图标秒点器易语言源码 之道返利源码 ons交友网站源码 psd空间 源码下载 qq网页登录源码 qq 网址 源码 qq解除限制钓鱼源码 php网盘程序源码 英文站b2b 源码 网站源码什么意思 qq秀设计网源码 ps怎么修改源码文字 世界杯足球竞猜源码 虚拟主机评测网源码 彩虹云任务源码7.1.8 小刀娱乐易源码 区块马 源码 微信强制分享群 源码 android源码 ios源码 android互动屏保源码 jsp oa源码 gh0st源码编译 易语言抢票源码 java 串口源码 google maps 源码 div css 源码 杂志迷 源码 java 源码包 网站源码在线翻译 flash文字效果源码 flash 导航源码 jsp oa办公系统源码 dj网站源码代收费功能 asp动网论坛源码 java io源码 java 彩信 源码 jdk1.5源码 html5砸金蛋源码 怎样获取天猫网页源码 最好的源码网 ps红色火焰源码 易拍网 源码 赞不停源码 mysql源码pdf minix 源码 txt mpeg2解码器源码 源码 html php建站源码下载 麻将游戏源码安卓 易语言 网页 源码 ssh开发源码 php webgame 源码 php登陆界面源码 qq酷淘宝客源码 php 源码 投票 struts2的源码 源码天空下载 android 超级画板源码 易语言 百度 源码 tcmalloc 源码分析 易语言基础源码 小猪cms源码2017 易语言语音说话源码 易语言超文本源码 倚天蝴蝶形态指标源码 易语言邮箱扫号的源码 易语言破解源码 易语言网页变速器源码 mybatis源码包下载 android10源码打包下载 zip源码 易语言修改源码教程 易语言客户登记源码 订单文件网站源码 仿58同镇源码 源码如何打包ipa 订货批发系统源码 小高教程网的源码 织梦采集侠源码解析 漫画小说源码带采集 淘宝搜索功能源码 源码售卖网 手机github下载源码 仿5173交易平台源码 传奇评测网源码下载 传奇源码如何泄露的 先锋影音资源码 sql仓库管理系统源码 海外源城系统平台源码 琪琪源码 栗子发卡网源码 机房运维管理系统源码 西游记张卫健tvb源码种子 新闻站源码自动采集 九转指标源码 源码直播免费 大商创源码安装 返利app原生前后端源码 下载 免费社区团购系统源码 图片社交平台源码 淘客导购cms源码 通达信发行价源码 刷脸支付系统源码 在线作图网站源码 区块链钱包系统开发源码 殷保华公式源码 变色龙源码 安卓源码助手 欧傅算命源码下载 黑阔站长吧源码 抄底主图指标公式源码 火速拍卖源码 html5魂斗罗源码 布艺网站源码 在线库app源码 beginthreadex源码 通达信买卖金点源码 建站公司企业源码 免费自助建站平台源码 医院管理信息系统源码 exe怎么查看源码 冒险岛ijl15.dll源码 黑色分类目录源码 模型展示源码 美女一对一加视频app源码 震荡波源码 微信三方平台源码 箱体指标源码 宝塔线公式源码附图 深入浅出mfc源码 实验室设备管理系统源码 云服务器编译安卓源码 ios马甲包老外源码库 flvjs源码 webpack的loader源码 嗨玩源码 刷脸saas系统源码 net源码是什么 qq业务乐园源码 ps动态qq头像源码 netants源码 php地方信息港源码 qq屋模版源码 oa 项目源码下载 制作聊天软件源码 qq业务 源码下载 php服装商城源码 装修网网站源码 linux 0.11源码下载 net 订货系统源码 多城市商城源码 我画你猜源码 tcpdump 源码分析 重庆婚嫁网最新源码 易语言电影菜单源码 md5解密源码php 易语言挂机脚本源码 易语言目录监视源码 易语言本地验证源码 shopex仿天猫商城源码 python源码剖析买不到 dba要研究数据库源码吗 块儿快递查询源码 微信qq机器人整站源码 无极任务平台源码 asp棋牌游戏源码 期货app源码 百度小程序支付回调源码 刮刮卡系统源码 党建网站源码 易语言给软件做激活码源码 算命取名源码 群友通讯录源码 程序员阅读源码 正版满堂彩源码 汽车之家网站源码 创盟整站源码下载 九艺棋牌源码 骑士人才源码 好看的html黑页源码 java怎么查看jar包的源码 商城源码吧 万词霸屏 源码 天使测试工具源码 传奇源码哪几种 impress源码 几年前的php源码 十秒竞拍源码下载 游戏源码及素材下载 ai人工智能主播 源码 ihucms导航网源码 虚拟路由源码 三货币对冲ea源码 霸屏天下源码修改 视频一对一交友源码 方块导航源码 飞狐抛物线公式破解源码 dz论坛资源源码 买了源码能做什么 影视博客源码 源码安装openssh h视频网站源码带裂变 qt彩票源码下载 高清播放器源码 仿百度图片搜索源码 pcm和源码 易语言163邮箱源码 simpledateformat源码 外贸手机网页源码 电影视频网站模板源码 比分源码 安卓客服系统源码 dk买卖点公式源码 1737棋牌源码 java2实用教程源码 notepad源码分析 高清电影下载源码 小夜网php卡盟源码 因酷源码 mysql多表查询源码 填大坑源码 彩虹url转发源码 乞讨网php源码 买卖交割的论坛源码 a5源码opensns 外贸导购源码 asp网站源码 查看 溯源码真伪 dnf怎么源码泄露的 av平台源码 电子地图源码 旅游项目源码 热血虎卫源码 大挂武林源码 快递单号查询系统源码 map源码分析 源码转换成补码的规则 zblog源码分享 php发邮件接口源码 广告平台源码下载 vb 销存源码access 空包单号网源码 voicechatter源码 cc2540串口透传源码 大番薯12人牛牛源码 安卓手机锁屏病毒源码 传奇引擎源码修改教程 linux 源码包 mysql 仿搜狐视频分享源码 tpshop微信小程序源码 服装门户 源码 短地址赚钱源码 微信免费影视小程序源码 易语言采集网页源码 刀疤兔源码 动力社区源码 动网博客源码 源码制作器 下载 茶叶网站源码下载 采购软件源码 飞狐公式源码 捕捞季节公式源码 飘花电影网源码 小鹏 网络摄像头直播源码 zhe800 源码 ws源码群 webgl源码下载 在线礼佛源码 vc项目源码包含引用 十三水源码 qince vb节假日提醒源码 食材配送源码 指定程序走代理 源码 apm飞控源码 小程序识别文字源码 易语言吃鸡源码 边缘源码 农业中子出售网站源码 新闻app 源码下载 云呼源码 php自动收录导航源码 2018世界杯竞猜源码 新闻聚合app完整源码 多城市家教平台源码 短线操盘手指标源码 单位主页网站源码 多功能记事本源码 大漠插件 源码 顶部线的公式源码 仿爱玩源码 国外flash片头源码 黑色音乐网站源码 久久信息网源码 简单的网址导航源码 婚庆 门户 源码 僵尸终结者 源码分析 建站大师 源码 留言本源码下载 极品源码社区 局域网通讯 源码 绿麻雀系统源码 流动字幕源码 大气拍卖公司网站源码 后盾网许愿墙源码 微信同城分类信息源码 three.js机房源码 全民k歌 解析 源码 物业收费系统源码 母婴小程序源码 google keep 源码 定位平台 源码 windowbuilder源码 win8网站源码 机器猫 拖拽 源码 记事本 源码 金字塔魔鬼通道源码 柳州房产网 源码 寒江独钓源码 即时通源码 简单导航网站源码 进进窗口化源码 换客 源码 汉字显示屏 源码 类似树洞外链的源码 绝版动态皮肤源码下载 集团首页 源码 竞拍系统 源码 开盘预警抓涨停 源码 接水管 游戏源码 关键字搜索的asp源码 黑域基地网站源码 慧眼识金指标源码 航海家 源码 寒龙源码 监控买卖指标源码 黑客360 qq刷钻源码 酒吧网站源码下载 酒店在线订房系统源码 集成搜索源码 侯杰stl源码剖析 家政公司源码 婚恋 在线聊天 源码 酷酷导航源码 酒店预定网站源码 卖源码网站 马士兵struts2源码 马甲 指标 源码 黑客源码网 绿色源码之 黑客之门 源码 军事门户源码下载 炫酷html表示源码 linux2.6内核源码注释 车位检测车牌识别源码 扫码挪车小程序 源码 arrsylist源码 帝隆p2p网贷系统源码 麻将胡牌算法源码 广告平台小程序源码 刺激战场源码在哪里找 workerman 游戏源码 cmake编译opencv源码 yy最新活动源码.zip 在线小说 网站源码 办公用品商城 源码 微赞微擎源码最新版 源码寻仙打怪辅助源码 赵鹏下吧 源码 vc 乐谱源码 centos 7 mysql 源码 黑马手机安全卫士源码 彩票门户源码 h5 翻牌抽奖源码 毕向东源码 安卓rom源码下载 仿qq游戏大厅源码 仿思道oa源码增强版 标题栏 源码 点卡源码 网站正在建设中 源码 多空风险指标源码 attention机制源码 vb串口源码下载 java web直播源码 vb源码 保存图像 vc 图形 源码 vb erp源码 vb ie 源码 分时博弈源码 商之翼yii2源码 python3.6源码下载 跑酷游戏源码完整版 采集电影网站源码 编辑 html 源码 采购申请入口系统源码 java类源码怎么看 布林带 源码 俄罗斯方块安卓源码 出售网址导航源码 源码啊 农业 信息网 源码 带源码sae建站 大盘指标 源码 附图 产品展示 php源码 批量修改网站源码 服务器源码如何 简单的游戏源码 莱整形医院源码 空间psd皮肤源码 家装后市场 源码 航海 至尊数据 源码 建站程序源码系统 家装php带源码下载 简易新闻发布源码 计算器 mfc 源码 换客中国源码 股票软件 delphi 源码 猴岛cf窗口化源码 华软源码网 灰色按钮克星源码 经过代理vb源码 竞拍网源码 机械类源码 论文网源码下载 相册 小程序 源码 eclipse关联maven源码 韩国源码下载站 竞价低开池初选源码 yy最新源码 垃圾源码 股票论坛 源码 卡哇猪电影网站源码 酷源码asp调试工具 科讯地方门户源码 空间psd源码 空间闪动标题栏源码 酷跑游戏源码完整版 卡盟源码哪个好 节日祝福源码 局域网 斗地主 源码 公司网站的源码 剑灵服务器emu源码 谷歌android 4.1源码 火爆的商机网整站源码 聊斋ol 源码 好吃猫外卖点餐源码 会计从业考试网站源码 垃圾x站换量用源码 红木家具代源码 喊话器源码 机房管理系统源码 就爱源码社区 黑客 指标源码 rtmp源码是什么 怪老头电脑源码 企业统一通信 源码 地方旅游网整站源码 白狼答题器源码 超级搜索引擎源码 淘宝客网站源码php 冲击波源码 十字消除的源码 淘宝卖家工具箱源码 三国跑酷源码 随意贴源码 旅行社综合业务管理系统源码 随机数生成器源码 威客整站源码 最新易企秀v13.0 源码 人才网源码 下载 网站整站源码下载免费 请销假系统h5源码 同城 聊天室 源码 压力线和支撑线的源码 iapp的源码用什么编译 通达信 波段王 源码 视频网站源码 jsp easyui tab 事件源码 世纪星平台源码 树型论坛源码 2017闲鱼源码吧 视频传输源码 正版彩虹代刷网源码 android gps定位源码 myzly二级域名分发源码 奇摩女孩 源码 网站自动化宣传机器源码 软件试用版 源码 共享单车 源码 xwork源码 yy钓鱼网站源码下载 vb导出导入excel源码 微信机器人投注源码 mac 源码安装mongodb vrml与java源码 vc数据库编程源码 vb.net下载软件源码 微信收款 源码 倒计时软件源码 避庄洗盘指标源码 天高云淡秒赞源码最新 盗取网站源码教程 动站源码下载 筹码监控指标源码 洞穴狂奔源码 查看java源码工具 钓鱼抽奖网页源码 砍价微信小程序源码 源码资本已投项目 求购房产网源码 中值滤波实现源码python 数据商城源码 日志签名档源码 软件营销网站源码 网狐内核源码 神将世界太史慈源码 神经猫源码 图书馆管理系统源码下载 失物招领app源码 小程序房贷计算器源码 ecshop车商城源码 android 足球源码 英语趣配音 php源码 易语言截图软件源码 易语言准心源码 源码能修改嘛 直播刮彩票源码 汽车uds诊断协议源码 android通讯软件源码 思途旅游cms源码 整人yy协议源码.zip 易语言源码编辑框右键 win8网址导航源码 缘来客网站源码出售 qq飞车公子辅助源码 安卓源码包下载 大游戏论坛源码 点卡销售系统源码 傲气战歌网网站源码 床上用品源码 安卓2.2源码 安装软件进度条源码 大麦户网站源码 炒股软件的源码 超级外链 源码 通达信 振幅源码 网 站源码 易企秀v12.7源码下载 网胜b2b 源码 同城交友网 源码 广州南站离白马服装城源码 外卖网源码 网址导航源码带推广 python源码统计爬虫 数字卡源码 贴吧查ip源码 视频聊天k歌源码php 散户至宝指标源码 apk源码调试 安卓手机点餐系统源码 准确出击选股指标源码 下载器源码 微信小程序 源码抓包 团购聚合源码 学成家教网源码 荒野行动方块透视源码 问道手游扫拍源码 winform综合案例源码 web ssm 项目源码 站长统计 源码 学生管理系统源码下载 兔子卡盟网站源码 小说随身听 源码 小姐 威客 源码 网上的源码后门多 源码之家 软件 下载 学校整站源码下载 怎么学 gcc源码 新闻文章系统源码 小游戏php源码 修改mac vb源码 小说源码下载带采集的 淘宝返利api接口源码 源码免杀入口点 在线图片制作源码 形象设计源码 spark1.5源码编译安装 吾爱挂q源码 微信独立商城源码 在线投注 源码下载 黑马网源码 flappy bird 源码 省钱快报源码 小京东淘宝客源码 asp报修系统源码 c winform 源码下载 c#验证码识别源码 快三源码手机版 夺宝源码下载 网页抓包工具源码 团购打折网源码 验证真假qq源码 源码 javamail 幸运28 源码 源码中含有非法链 修改头像源码文字 营销软件下载源码 营销单页源码 下载google源码 图片水印psd源码 新闻发布系统asp源码 小说采集 源码 虚拟摄像头源码 网站源码打包工具 兄弟变速器源码 星辰变 采集源码 微信墙源码免费下载 项目源码打包下载 推广联盟 源码 源码安装openerp 微赞最新源码 电玩源码破解 php 卡片机器人源码 战舰少女资源码 无限弹窗源码 鲜花预定源码下载 能连续涨停公式源码 微擎微赞视频打赏源码 小猪cms源码 2017破解