0
我有這個,它工作正常,但它需要13分鐘才能完成有沒有辦法加快這一點。加速MSSQL到MySQL插入
insert into openquery(portal, 'select
klient_id,
smetka_br,
smetka_datum,
smetka_izdadena_datum,
smetka_platena_datum,
smetka_int_cena,
smetka_tv_cena,
smetka_dtv_cena,
mesto_uplata,
platena_tv,
platena_int,
platena_dtv,
datum_tv,
datum_int,
datum_dtv from smetki_data_temp')
select
a.klient_id, a.barcode, a.datum_valuta, a.promena_datum, b.datum_uplata, a.iznos_INT, a.iznos_KDS, a.iznos_DTV, a.zabeleska,
a.platena_KDS, a.platena_INT, a.platena_DTV,
(Cast(godina_KDS as VARCHAR) + '-' + Cast(mesec_KDS as VARCHAR) + '-01') as datum_tv,
(Cast(godina_INT as VARCHAR) + '-' + Cast(mesec_INT as VARCHAR) + '-01') as datum_int,
(Cast(godina_DTV as VARCHAR) + '-' + Cast(mesec_DTV as VARCHAR) + '-01') as datum_dtv
from tSmetki as a
INNER JOIN tUplati as b on b.smetka_id = a.id
where a.barcode != ''
有近2密爾行。選擇需要30秒才能完成。插入需要12分鐘。
Affected rows: 1905280
Time: 751.330s
您是否在tSmetki.Id和tUplati.smetka_id上創建了索引? – MKR
這是一件日常事物嗎?將其作爲SQL作業運行可能會提高您的性能。 – Isaiah3015
這可能是因爲你通過鏈接服務器(在你的案例中是'portal')。你可以使用類似SSIS或SQL Server中的導入/導出實用程序,它應該能夠進行一些優化。如果這不是一種選擇,那麼可以考慮對其進行批處理,以便在鏈接服務器上沒有2m行事務處理。我對MySQL不太瞭解,不知道他們提供了什麼ETL工具。 – Xedni