我正在运行SQL Server 2012,并通过最新的MySQL ODBC驱动程序设置了与Linux MySQL实例的链接服务器连接。我对返回一个相当简单的选择'的结果感到有点失望。查询。
select * from OPENQUERY(LinkedServer, 'select * from mysqltable')
该表有大约150,000行,大约需要70秒才能将结果返回给SSMS。相反,如果我通过MySQL客户端应用程序(在本例中为Navicat Essentials,在与SQL Server相同的计算机上)查询表,则查询将在大约1秒内执行。
我知道Linked Servers和ODBC会比较慢,但我对这种性能影响感到惊讶,特别是在这种直接查询的情况下。
我尝试过Unicode和ANSI驱动程序,性能类似。 MySQL DB是UTF-8 CharSET和Coalition,表是InnoDB。我尝试过明确选择列而不是*。再没有区别。
之前有没有人经历过这种情况,并获得了加速表现的任何提示,或者这是否正常?
提前致谢。
答案 0 :(得分:0)
在链接服务器中 我认为没有可能显着改善 但是你可以尝试通过SSIS 并使用批量插入。