联合表(服务器A上)的delete语句大约需要300秒(仅2万行),而在实际表(服务器B)上调用同一条delete语句则需要0.3秒。我没有找到任何文档或讨论此功能为何性能会很慢的原因。两个表(原始表及其联合表)上的选择花费相同的时间。是否存在已知的错误或原因,导致对联合表进行删除是个坏主意?
FEDERATED
不是为速度而构建的。删除实际上可能一次完成一行。
如果可行,请考虑以下解决方法:
在目标计算机上,建立执行DELETE
的存储过程。根据提供的参数构造它,并使其SECURITY INVOKER
。
也许 MariaDB的FEDERATEDX
做得更好。