访问MySQL ODBC连接打开缓慢

时间:2016-03-13 20:49:55

标签: mysql ms-access odbc

我将访问拆分数据库后端移动到MySQL服务器。前端启动表单运行pass-trough查询。加载启动表单需要1.25秒。没有查询,它是0.05秒。 我在服务器端删除连接后尝试运行查询。查询在1.21秒内完成。打开连接后运行相同的查询时,它将在0.016秒完成。

看来,Access需要1.2秒才能打开新的ODBC连接。有没有办法加快这个?使用mysqlslap,我可以打开&每秒下降60个连接,所以它真的不需要1.2秒。

配置:

  • MySQL服务器在localhost上运行,赢得7 SP1(i5,足够的可用内存)。
  • 客户端是MS Access prof 2013 32位(带有最新补丁)。
  • 服务器是mysql-5.7.11-x64社区版。
  • MySQL ODBC驱动程序是Unicode 5.3.4版本,32位&已安装64位。
  • 没有有效服务器/ user / pwd的连接字符串:" ODBC; DRIVER = {MySQL ODBC 5.3 Unicode驱动程序}; SERVER = XXX; charset = UTF8; PORT = 3309; DATABASE = movedb2; user = XXX;密码= XXX; DFLT_BIGINT_BIND_STR = 1;选项= 4196410"

查询:

Dim r as recordset, db as database
Set db = currentdb
Set r = db.Openrecordset(ptqueryname)

我尝试使用select 1;,但查询仍然在1.2秒内完成。

1 个答案:

答案 0 :(得分:0)

我使用ODBC工作的ODBC:

  • 用于TCP In和TCP6 In防火墙中的MySQL端口3306;

  • Linux中的
  • 位于/etc/my.cnf' bind-address = 127.0.0.1' to' #bind-address = 127.0.0.1'而且,我认为需要重新启动服务器;

  • MySQL数据库(在DirectAdmin中)授权您的个人IPv4和/或IPv6;

  • 作为服务器名称的域名可能有效,否则为IP地址(括号内的IPv6)。

此外: - MySQL数据库的MS Access VBA模块中的参数字符串: 公共常量gloODBCParameters作为字符串=" PORT = 3306; SSLmode =验证满; TextAsLongVarchar = 0; UseDeclareFetch = 0; LANGUAGE =美国英语; INITSTMT =设定WAIT_TIMEOUT = 600; FOUND_ROWS = 1&#34 ;;

  • 32位驱动程序{MySQL ODBC 5.3 Unicode Driver}在我的电脑上运行;

注意:由于隐私,我的提供商经常切换我的IPv6地址。这是一个很好的设置,所以我不再使用固定的IPv6地址授权我的数据库。然后使用IPv4地址与服务器联系。