Office中国论坛/Access中国论坛

标题: Access菜鸟的悲催:坑爹的Access黄金4K [打印本页]

作者: ganlinlao    时间: 2013-11-11 11:28
标题: Access菜鸟的悲催:坑爹的Access黄金4K
本帖最后由 ganlinlao 于 2013-11-11 11:31 编辑

        也许你已使用Access多年,对Access的了解比对自己的女友更了解。但你不一定知道赫赫有名的Access的ldb黄金4K。当Access发生黄金4K时,比女友对你说,这个月没来了,更恐怖!也许你是和我一样的菜鸟,但也一定要知道Access有着悲催的黄金4K

Access并发极限的分析

在写此文前,我做了一个小小的代码测试,通过这个小测试,终于解惑了我对access究竟支持的是怎样的并发和黄金4K的.ldb文件的概念。

这个测试很简单:
1:每Open打开一个Access链接后,我就让它Sleep100秒:就是打开就不关闭了。
2:开多个线程,同时去Open链接:模拟并发请求。
3:观看产生的.ldb文件:结论靠观察。


终于,我看到了一个直观的过程:

1:打开1个链接时,产生一个.ldb文件,而且这个.ldb文件大小是64个字节。
2:打开2个链接时,产生一个.ldb文件,而且这个.ldb文件大小是128个字节。
3:打开3个链接时,产生一个.ldb文件,而且这个.ldb文件大小是192个字节。
......省略......
4:打开64个链接,产生一个.ldb文件,而且这个.ldb文件大小正是黄金4K。
5:打开65个链接,报错了,再往后,全错了。



如果这是access单个数据库极限并发的答案,总结就是:
access最大支持同时打开64个链接,每个链接产生64个字节,看到黄金4K的.ldb文件,说明极限到了。
而且,这是一个数据库的极限,因此,你想获得更大的并发数,不是分表,而是分库。


以上是对一个数据库的最大极限测试,那会不会对数据库的单个表存在着最大极限并发?

带着些许疑问,我又把示例稍为改了一下,进行单表的最大并发测试:
1:产生64个线程,即同时打开最大的数据库并发链接。
2:每个链接,都内建死循环,while中不断的更新着同一条记录。
3:观看有没有异常产生,同时数据库记录是不是正常更新着。


终于,我又看到了一个直观的过程:
1:没有异常产生。
2:记录在正常被更新着。


如果这是access单个表极限并发的答案,总结就是:
access的单表并发处理机制,没有限制,当然,最大并发数仍取决单个数据库链接数的最大并发64。

PS:如果一个链接内,再开N个线程去更新,结论又会是怎样呢?这问题似乎不太重要,有需要知道的大伙自己写示例了。


我久久地凝视着,微软的Access规格说明:并发用户的个数 :255。
微软的说明究竟在说什么??


作者: tmtony    时间: 2013-11-11 11:31
冬瓜,强文. 文彩也好啊
作者: admin    时间: 2013-11-11 11:31
冬瓜又有新作,支持一下!
作者: 轻风    时间: 2013-11-11 14:03
顶下冬瓜先!我一直以为tmtony和admin应该都是王站,难道不是?
作者: yanwei82123300    时间: 2013-11-11 15:07
冬瓜老师谢谢分享?!!
作者: t小宝    时间: 2013-11-11 21:17
原来微软也忽悠人
作者: tmtony    时间: 2013-11-11 22:53
轻风 发表于 2013-11-11 14:03
顶下冬瓜先!我一直以为tmtony和admin应该都是王站,难道不是?

我一般用tmtony , admin是网管员用 的帐号, 管理员设置时, 我偶尔也会用一下
作者: 坡芽歌书    时间: 2013-11-12 13:25
标题: ,,,,,
本帖最后由 坡芽歌书 于 2013-11-12 15:09 编辑

,,,,,,
作者: ganlinlao    时间: 2013-11-12 14:22
弱弱地回答一下:
SQL server不存在连接限制。我这里指是的企业版之类的。
Access的连接限制指的是ldb文件的黄金4K。如果你是用access作为前端,直接用ado存取SQL Server上的数据。不会产生ldb文件。也自然就没连接限制。如果你是用mdb,然后链接表。会产生ldb文件。一样会有黄金4K的限制。只不过你是c/s模式。一个客户端基本不可能有64个连接存在?相信你也不会这么做。所以使用c/s的客户端其实是无须担心连接限制。需要考虑连接限制的,都是iis(如asp,asp.net、php)中使用mdb或acced或access服务器版。
作者: zhuyiwen    时间: 2013-11-13 09:10
好文,顶一个
作者: 5988143    时间: 2013-11-13 09:16
實踐出證明~
作者: coolleaf    时间: 2013-11-16 22:05
真心不错,顶一下。
作者: 风中漫步    时间: 2016-12-8 14:50
大神的测试版本是哪个?
作者: xiaowuo2    时间: 2016-12-8 17:01
小微同志不给Access与VB或VFP的相同开发功能就证明,小微不想A与V抢市场。人为设限制,让你局限用在办公,当作一个普通的Excel处理,呵呵




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3