mysql - SQL Server 2008 链接 MySQL 服务器慢

标签 mysql sql-server-2008 linked-list odbc

在 Win2K8 上运行 MSSQL Server 2008 Standard SP 2 64 位。我在这台服务器上安装了 64 位 MySQL ODBC 驱动程序版本 5.1.8,从 10/28/2010 开始。我已经配置了一个链接到 MySQL 服务器 5.1 的 DSN,该服务器运行在 Mac apple-darwin9.8.0 服务器上(别问我,我继承了这个)。我已经通过 MDSASQL 成功创建了一个链接服务器到特定的 MySQL 数据库。

我可以从 SQL Server 框中运行简单的自然查询

SELECT * FROM mysql_table WHERE id = 1;

但是,它的速度非常慢。执行上述查询需要 19 分 52 秒;在本地执行相同的查询需要 0.04 秒。

此外,我尝试执行一个简单的自然更新

UPDATE mysql_table SET field = 0 WHERE id = 1;

这运行了 2 小时,然后返回以下错误:

OLE DB provider "MSDASQL" for linked server "LINKED_MYSQL" returned message "Out of memory.".
Msg 7399, Level 16, State 1, Line 3
The OLE DB provider "MSDASQL" for linked server "LINKED_MYSQL" reported an error. The provider ran out of memory.
Msg 7330, Level 16, State 2, Line 3
Cannot fetch a row from OLE DB provider "MSDASQL" for linked server "LINKED_MYSQL".

这是在几个涉及更新同一个表的失败作业之后发生的,所有这些作业都在开始大约两个小时后失败。

我已经检查了 mysql 的权限,DSN 中指定的用户在 mysql.user 中具有适当的权限(好吧,所有权限)。

如果有人能给我任何调查途径以使其正常工作,我将不胜感激。

最佳答案

避免连接到链接的服务器表并查看dynamic openqueries 并引用之前发布的这个问题。 Linked Server Performance and options

关于mysql - SQL Server 2008 链接 MySQL 服务器慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7474586/

相关文章:

c - C中不兼容指针类型的赋值

C++ 深度复制链表

mysql - 如何在 Laravel 中按字符和数字排序

sql - 最近 7 天的 MySQL 计数数据

sql - 查找插入特定表的存储过程

mysql - 在mysql中添加外键

c - C 中的链表循环输出

mysql - 将长文本描述存储在数据库或文件系统中更好吗?

mysql - 计算工作时间两行之间的时间差

sql - 每列的不同位置条件