gpt4 book ai didi

mysql - MS Access 将链接表更改为 AWS MySQL Db 会减慢表单/报告的速度

转载 作者:太空宇宙 更新时间:2023-11-03 11:22:37 26 4
gpt4 key购买 nike

我刚开始在一家公司担任新职务,他们使用 MS Access 和 MySQL 数据库,该数据库运行在服务器上,而服务器实际上位于我们私有(private)网络后面的办公室。我受雇开发一个全新的应用程序,以使公司达到现代标准。当我们将功能/模块移动到我正在编写的新 Angular/NodeJs 应用程序时,用户仍然需要使用 MS Access 提供的 UI 来 Access 将在 AWS Lightsail 上的新生产数据库。但是,当我更改 Ms Access 的配置时,OBDC 连接指向 AWS Lightsail MySQL Db,MS Access UI 中的所有内容(尤其是报告)变得比在办公室网络中指向 MySQL Db 时慢.

我将转到“链接表管理器”并更改“连接字符串”。在我读到的某个地方,我应该确保禁用 SSLMODE 以消除任何性能问题。

DSN=AWS_Dev;DATABASE=ECSDataTables;PORT=3306;SERVER=IP_ADDRESS;SSLMODE=DISABLED;

我在 Windows 中通过正常的“ODBC 数据源管理器”并正常添加了 MySQL AWS 主机、用户/密码。

我进行了广泛的研究并找到了多个来源,但没有一个真正有用。

我被要求不要花太多时间尝试修复/优化 MS Access 中的任何内容,因为我的重点应该放在新应用程序上,但很难相信 MySQL 数据库的简单切换会产生这样的影响。在新的 Angular/NodeJs 应用程序中,一切都运行得非常快,所以我知道它不是 AWS MySQL 数据库或任何东西。

我是否遗漏了什么,我应该在 Ms Access 中进行的任何配置?我已经有大约十年没有使用 VB 了,所以我希望在这个问题上不需要太多技术背景就可以做一些事情。

谢谢。

最佳答案

好吧,问题是您的局域网 (LAN) 大约是您的互联网连接速度的 10 倍,甚至更快。

您的低成本办公网络很可能是一个 1 千兆比特的网络。 (100 碱基 T 很少见)。

但是,您的互联网高速连接可能是 10 mbits。所以,你从 1000 到 10——慢了 100 倍。所以,3 秒现在变成了 300 秒。

我的意思是,如果连接速度如此之慢,那么这里就不足为奇了。

对于任何包含客户端 sql 的复杂连接的报告,您可以将 sql 查询转换为服务器端 View ,并链接到该 View 。现在使用该 View 作为报告的基础源。当然,您经常使用(对吗???)启动报告的现有 VBA 文件管理器现在只会将其所需的数据拉下网络管道。 Access 报告(或表格)只会下拉您所要求的内容——而不是整个表格。因此,您拥有的任何过滤器(使用打开报告命令的 where 子句)都将得到尊重。因此,您要么必须提取更少的数据,要么只是找到与您的局域网速度等级相似的东西(这种高速互联网很少见)。

本文概述了 LAN 与 WAN 的概念和速度问题:

http://www.kallal.ca//Wan/Wans.html

虽然上面的文章很老了,但今天互联网的速度差异大约快了 10 倍,但是从 100 baseT 到 1 gig bit base 的本地区域也是如此。

所以,事情变慢了,因为你正在使用非常慢的连接速度。越慢越慢!!!

编辑

虽然如前所述, Access 只会提取您所要求的内容,但 Access 客户端表现不佳的情况是涉及多个表的 sql 查询 - 通常客户端会弄乱它发送给服务器端的内容。如前所述,这种情况下的解决方案是采用 View 服务器端。这意味着您将驱动报告的客户端查询移动到 View ,并链接到该 View 。对于单个表查询,您不会获得太多性能,但对于任何基于复杂(多表连接)的报告,然后使用 View 将强制 sql 和“连接工作”发生在 sql server 端,这可能会导致巨大的性能提升。

关于mysql - MS Access 将链接表更改为 AWS MySQL Db 会减慢表单/报告的速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58069354/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com