-
access和mssql并发量比较
网络 2014/11/4 10:51:17不同的数据库有着各自的优点和缺点,所以,各有其应用范围。微软的数据库,有ACCESS和MS SQL两种,前者是轻量级的小型数据库,后者是大中型数据库。
一般来说,访问量较少就使用ACCESS,访问量较大或很大就使用MS SQL,至于为什么要这样来选择,我们从并发量来理解就可以了。
所谓的并发量,说得稍微简单点,指的就是同一时间访问数据库的人数。这两个数据库在访问方面,都有限制或规定。尤其是ACCESS,是存在限制的,因为它是免费的,所以就存在人为限制,故意让访问量不能太高。
Access最多支持255个并发用户。其支持的最大数据库大小是2G。适合单机访问和处理少量数据时使用。如果数据库大小超过100M,同时在线人数超过100人,或者服务器CPU使用率经常接近100%。建议换数据库。
access 处理并发访问的机制,主要是加锁来实现并发控制。驱动程序根据LDB文件来进行锁的控制。
关于ACCESS的限制,可以从下面的信息来理解:
表名的字符个数 64
字段名的字符个数 64
表中字段的个数 255
打开表的个数 2048;实际可打开的表的数目可能会少一些,因为 Microsoft Access 还要打开一些内部的表。
表的大小 2G 字节减去系统对象所需的空间
“文本”字段的字符个数 255
“备注”字段的字符个数 通过用户界面输入为 65,535;以编程方式输入时为 1G 字节的字符存储。
“OLE 对象”字段的大小 1G 字节
表中的索引个数 32
索引中的字段个数 10
有效性消息的字符个数 255
有效性规则的字符个数 2,048
表或字段说明的字符个数 255
记录的字符个数(除“备注”字段和“OLE 对象”字段外) 2,000
字段属性设置的字符个数 255
而后者MS SQL就不存在这些问题了,因为它是收费的。你可以通过如下的方式来设置MS SQL的并发访问数量:
企业管理器→服务器→属性→连接→并发用户连接最大数目,设置为0,即为无限制。
从理论上讲,MS SQL并发量是不受限制的,但是,从实际的使用当中来讲,还得看服务器的硬件配置,不仅要看CPU的大小,还要看内存的大小,同时,还得看数据库的结构设计。另外,如果是通过代码来调用数据库的话,CODE也是有讲究的,代码编写得好,并发量到十万左右也没有问题,如果差的话,几十个并发,估计就出问题了。
知识拓展:并发控制的类型
当许多人试图同时修改数据库中的数据时,必须实现一个控制系统,使一个人所做的修改不会对他人所做的修改产生负面影响。这称为并发控制。
并发控制理论根据建立并发控制的方法而分为两类:
悲观并发控制
一个锁定系统,可以阻止用户以影响其他用户的方式修改数据。如果用户执行的操作导致应用了某个锁,只有这个锁的所有者释放该锁,其他用户才能执行与该锁冲突的操作。这种方法之所以称为悲观并发控制,是因为它主要用于数据争用激烈的环境中,以及发生并发冲突时用锁保护数据的成本低于回滚事务的成本的环境中。
乐观并发控制
在乐观并发控制中,用户读取数据时不锁定数据。当一个用户更新数据时,系统将进行检查,查看该用户读取数据后其他用户是否又更改了该数据。如果其他用户更新了数据,将产生一个错误。一般情况下,收到错误信息的用户将回滚事务并重新开始。这种方法之所以称为乐观并发控制,是因为它主要用于数据争用较少的环境中,以及回滚事务的成本偶尔高于读取数据时锁定数据的成本的环境中。
Microsoft SQL Server 2005 支持某个范围的并发控制。用户通过为游标上的连接或并发选项选择事务隔离级别来指定并发控制的类型。这些特性可以使用 Transact-SQL 语句或通过数据库应用程序编程接口(API,如 ADO、ADO.NET、OLE DB 和 ODBC)的属性和特性来定义。
阅读(1026) 分享(0)
上一篇: Access数据库并发极限的分析实验
下一篇: SQLite数据库是中小站点CMS的最佳选择