设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 7053|回复: 13
打印 上一主题 下一主题

[Access本身] Access菜鸟的悲催:坑爹的Access黄金4K

[复制链接]
跳转到指定楼层
1#
发表于 2013-11-11 11:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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。
微软的说明究竟在说什么??

评分

参与人数 2经验 +20 收起 理由
风中漫步 + 10 (其它)优秀教程、原创内容、以资鼓励、其.
5988143 + 10 實踐出證明~

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2013-11-11 11:31:00 | 只看该作者
冬瓜,强文. 文彩也好啊

点击这里给我发消息

3#
发表于 2013-11-11 11:31:27 | 只看该作者
冬瓜又有新作,支持一下!

点击这里给我发消息

4#
发表于 2013-11-11 14:03:43 | 只看该作者
顶下冬瓜先!我一直以为tmtony和admin应该都是王站,难道不是?
5#
发表于 2013-11-11 15:07:10 | 只看该作者
冬瓜老师谢谢分享?!!

点击这里给我发消息

6#
发表于 2013-11-11 21:17:23 | 只看该作者
原来微软也忽悠人

点击这里给我发消息

7#
发表于 2013-11-11 22:53:47 | 只看该作者
轻风 发表于 2013-11-11 14:03
顶下冬瓜先!我一直以为tmtony和admin应该都是王站,难道不是?

我一般用tmtony , admin是网管员用 的帐号, 管理员设置时, 我偶尔也会用一下
8#
发表于 2013-11-12 13:25:54 | 只看该作者

,,,,,

本帖最后由 坡芽歌书 于 2013-11-12 15:09 编辑

,,,,,,
回复

使用道具 举报

9#
 楼主| 发表于 2013-11-12 14:22:29 | 只看该作者
弱弱地回答一下:
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服务器版。

点击这里给我发消息

10#
发表于 2013-11-13 09:10:24 | 只看该作者
好文,顶一个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-1 19:29 , Processed in 0.090499 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表