我是一家公司的新角色,他们使用 MS Access 和 MySQL 数据库,该数据库在服务器中运行,服务器实际位于我们的私人网络后面的办公室中。我受雇开发一个全新的应用程序,使公司达到现代标准。当我们将功能/模块移动到我正在编写的新 Angular/NodeJs 应用程序时,用户仍然需要利用 MS Access 提供的 UI 来访问将在 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) 大约是您的 Internet 连接速度的 10 倍或更快。
您的低成本办公网络很可能是 1 GB 网络。(100 碱基 T 很少见)。
但是,您的互联网高速连接可能是 10 兆比特。所以,你从 1000 到 10 - 慢了 100 倍。所以,3 秒现在变成了 300 秒。
我的意思是,以这么慢的连接速度,那么这里就不应该有惊喜了。
您可以做的是对于客户端sql的复杂连接的任何报告,将sql查询转换为服务器端视图,链接到该视图。现在使用该视图作为报告的基本来源。当然,您总是使用(对???)来启动报告的现有 VBA 文件管理器现在只会将其需要的数据拉入网络管道。Access 报告(或表单)只会下拉您询问的内容 - 而不是整个表格。因此,您拥有的任何过滤器(使用 open report 命令的 where 子句)都将受到尊重。因此,您要么必须提取较少的数据,要么只需找到与您的局域网具有相似速度等级的东西(这种高速互联网很少见)。
本文概述了 LAN 与 WAN 的概念和速度问题:
http://www.kallal.ca//Wan/Wans.html
虽然上面的文章很老了,但今天互联网的速度差异大约快 10 倍,但从 100 baseT 到 1 gig bit base 的本地区域也是如此。
所以,事情变慢了,因为你正在使用非常慢的连接速度。越慢越慢!!!
如前所述,访问只会提取您所要求的内容,访问客户端做得不好的情况是涉及多个表的 sql 查询 - 通常客户端会弄乱它发送给服务器端的内容。如前所述,这种情况下的解决方案是采用视图服务器端。这意味着您将驱动报表的客户端查询移动到视图,并链接到该视图。对于单表查询,您不会获得太多性能,但是对于任何基于复杂(多表联接)的报告,使用视图将强制 sql 和“联接工作”发生在 sql server 端,这可能会导致巨大的性能增益。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句