我不确定你可以从使用不同的ADO类型获得性能。我认为这与数据库的大小和结构有关。
我和我的应用程序有类似的麻烦。虽然我为我的客户构建了很多很多应用程序,但他们中的很多人并没有太多的受众。最近我建了一个,男孩,我必须学习一两件事才能使它高效。
这里有几件事情要考虑,如果你还没有。有些人可能会有点基本的对你,但对他人有用太:
1)INDEX或全文索引 - 为了加快我的数据库,我添加索引对我查询列从而加快我的查询量巨大(但是稍微减慢INSERT的速度)。我还在搜索多个单词的列中添加了FULLTEXT INDEX,所以我可能会失去速度很慢的LIKE/IN子句。
2)规范化或非规范化 - 我的一个查询使用连接和子查询搜索16个表,结果是缓慢,笨重和令人困惑。我通过创建一个“非标准化”表来解决这个问题,该表包含了我需要搜索的16个表中的所有可用数据。所以借助FULLTEXT INDEX和一个非标准化和索引表,我的查询只有几行,非常快。在使用非规格化表格之前,您必须先了解规格化表格。对我来说,这是你可以违反规则的正确情况。
3)SQL字段选择 - 只选择您的SQL查询中所需的字段。这是一个简单的错误,但仍然可以做到。例如,如果您不需要返回所有列,请执行更精确的操作(从myTable中选择*),如果这是您需要的唯一列,请不要执行(从myTable中选择*)。
4)DB清理 - 我不知道有关访问,但在MySQL中,你可以通过使用优化查询,清理你的数据库,其修理任何差距在你的数据库,有时频繁插入和删除大量数据的创建。您还可以使用EXPLAIN,它详细解释了您的查询,例如计时器,使用的索引,使用的行和返回的记录。
有很多方法可以获得数据库性能。如果你谷歌“数据库优化”或“数据库优化”,你应该找到一些好的读取..
我怀疑你将能够解决你的问题,而无需更换MS Access(也许与SQL Express)。经典ASP能够处理的内容远远多于Intranet,但Access不是。 – Filburt
我明白这一点,但切换不是一种选择,我只是想尽可能地挤出我们尽可能多的东西。 – notreadbyhumans
我想知道“连接类型”究竟是什么意思,最明显最有效的将是最原生的,即Microsoft.JET.OLEDB提供程序。你还指着什么,你是不是在谈论要使用的游标类型? – AnthonyWJones