首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#和Access 2000

C#和Access 2000
EN

Stack Overflow用户
提问于 2009-08-14 22:19:24
回答 8查看 697关注 0票数 1

我开发了一个网络应用程序,在过去的几年里一直在我的公司使用。一开始,它管理有关用户、权限等的信息。随着时间的推移,它随着其他功能的增长而增长。它已经发展到我有表的程度,比如说有10-20列,甚至20,000 - 40,000条记录。

我一直听说访问不适合多用户环境。第二件事是,当我试图通过网络从表中读取一些记录时,整个表都必须被拉到客户端。这是因为服务器端没有数据库引擎,而数据过滤是在客户端完成的。

我会将这个项目迁移到SQL Server上,但不幸的是,在这种情况下不能这样做。

我想知道是否有比使用Access数据库并仍然使用单文件数据库系统更可靠的解决方案。

我们有一个使用dBase IV的相当大的系统,据我所知它是一个完全的多用户数据库系统。

也许用它来代替Access会更好呢?让我不确定的是,dBase IV比Access 2000早得多。我不确定这是否是一个好的解决方案。

也许还有其他选择?

EN

Stack Overflow用户

发布于 2009-08-15 02:49:47

如果您的Jet/ACE后端遇到了您提到的记录数量方面的问题,这听起来像是您遇到了模式设计问题或结构低效的应用程序。

正如我在对您的原始问题的评论中所说的,Jet不会检索完整的表。这是一个由不知道自己在说什么的人散布的神话。如果您有适当的索引,将只从文件服务器请求索引页(然后,只请求满足您的条件所需的那些页),然后检索到的唯一数据页将是那些具有与您的请求中的条件匹配的记录的数据页。

因此,如果您看到的是全表扫描,则应该查看索引。

你没有提到你的用户群。如果超过25,您可能会受益于扩展您的后端,特别是如果您已经熟悉SQL Server。

但是,您为这样的小型表描述的问题表明在您的模式或应用程序中的某个地方存在设计错误。

FWIW,我已经有过带有Jet后端的Access应用程序,在多个表中有100个数以千计的记录,由十几个同时添加和更新记录的用户使用,检索单个记录和小数据集的响应时间几乎是瞬间的(除了一些复杂的操作,如检查新输入的记录与现有数据的重复--这比较慢,因为它使用了大量的like比较和表达式求值进行比较)。您现在所经历的,虽然不是Access前端,但与我长期使用各种规模的Jet数据库的经验并不相称。

票数 5
EN
查看全部 8 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1280475

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档