[英]Alternative to openquery delete for MySQL
我正在運行 Microsoft SQL Server 2012 並嘗試在 MySQL 數據庫中運行openquery
delete 命令:
delete openquery(MyLinkedServer, 'select * from table_to_delete_from');
然而,這完全有效,令人痛苦地緩慢到它不可行的地步。 涉及的數據集太大了,執行上述操作要求所有要刪除的 MySQL 數據必須通過 VPN 獲取到 MSSQL 服務器。
當直接從 MySQL 服務器運行此命令時,觀察到它的速度提高了 5 倍以上,這是可行的。
如何在不復制數據集的情況下從 MSSQL 調用delete
命令到 MySQL 鏈接服務器? 也許在 MySQL 端運行各種存儲過程? 這適用於openquery
嗎?
試試這個:
exec ('delete from table_to_delete_from') at MyLinkedServer
SSIS 的另一種情況,每當我需要與 MYSQL 通信時。 並堅持在 MYSQL 表上截斷進程。 我提供如下程序:
CREATE PROCEDURE [dbo].[Usp_DeleteDynamicTable] @sourceTable nvarchar(max)
AS
BEGIN
DECLARE @SQL nvarchar(max)
SET @SQL='truncate table '+ @sourceTable
exec (@SQL) at MYSQL --MYSQL is my linked server names
END
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.