0
私は90,000レコードを挿入するストアドプロシージャを作成し、それをmule anypointstudioで呼び出しました。しかし、同じコードがperlで実行され、15分で挿入されたレコードを実行するのに8時間以上かかる。mulesoftストアドプロシージャの実行を大幅に高速化する方法を改善するには?
バッチを使用してストアドプロシージャのエラーレコードを処理する方法。私は許可された最大スレッドを変更しようとしましたが、改善が見られません。
私はどこで実装を間違えていますか?
ここで私が使用ラバコードです:
<batch:job name="Import_users_data" max-failed-records="-1">
<batch:threading-profile maxThreadsActive="1000" poolExhaustedAction="RUN"/>
<batch:input>
<db:stored-procedure config-ref="MyLearn_SQLSERVER_DB_Configuration" doc:name="Database">
<db:parameterized-query><![CDATA[{call spFetch_users_data}]]></db:parameterized-query>
</db:stored-procedure>
<set-payload value="#[payload.get('resultSet1')]" doc:name="Set Payload"/>
</batch:input>
<batch:process-records>
<batch:step name="users_batch_step">
<db:stored-procedure config-ref="SQLSERVER_DB_Configuration" doc:name="Database" streaming="true">
<db:parameterized-query><![CDATA[{call spIns_data_in_users_table(:in_users_id, :in_first_name, :in_last_name)}]]></db:parameterized-query>
<db:in-param name="in_users_id" type="INTEGER" value="#[payload.USERS_ID]"/>
<db:in-param name="in_first_name" type="VARCHAR" value="#[payload.FIRST_NAME]"/>
<db:in-param name="in_last_name" type="VARCHAR" value="#[payload.LAST_NAME]"/>
</db:stored-procedure>
</batch:step>
</batch:process-records>
<batch:on-complete>
<logger message="Successfully imported users data.......#['Successfull Records: '+payload.successfulRecords+'Failed Records: '+payload.failedRecords]" level="INFO" doc:name="Logger"/>
<flow-ref name="Export_data" doc:name="Export_data"/>
</batch:on-complete>
</batch:job>
i'mは、バッチブロックサイズが利用できないanypoint studio 5.4.0を使用しています。私はアクセス許可を持っていないので、私は更新しません。 Anypointstudio 5.4.0の代替方法はありますか? – shabarinath
残念ながら、それはMule 3.8とAnypoint Studio 6以降で利用できます。 Anypoint Studioを6にアップグレードすると、このオプションを利用できます。 –