একটি সাধারণ পদ্ধতি:
- লক্ষ্য টেবিলের ইনডেক্স / সীমাবদ্ধতাগুলি অক্ষম / ড্রপ করুন।
INSERT dbo.[Target] WITH (TABLOCKX) SELECT ...
- অবশ্যই জেএনকে creditণের সাথে, আপনি
n
সারিগুলির ব্যাচগুলিতে উপরের কাজটি করতে পারেন , যা লেনদেন লগের উপর চাপ কমাতে পারে, এবং অবশ্যই এর অর্থ যদি কিছু ব্যাচ ব্যর্থ হয়, আপনাকে কেবল সেই ব্যাচ থেকে শুরু করতে হবে। আমি এ সম্পর্কে ব্লগ করেছি (মুছে ফেলার ক্ষেত্রে একই বুনিয়াদি ধারণাগুলি প্রযোজ্য) এখানে: http://www.sqlperformance.com/2013/03/io-subs systemm/chunk-deletes
- লক্ষ্য সারণীতে সূচিপত্র / সীমাবদ্ধতাগুলি পুনরায় সক্ষম / সক্ষম করুন (এবং সম্ভবত আপনি সেগুলির কয়েকটি স্থগিত করতে পারেন, যদি সেগুলি সমস্ত ক্রিয়াকলাপের জন্য প্রয়োজনীয় না হয়, এবং অনলাইনে বেস ডেটা পাওয়া আরও গুরুত্বপূর্ণ)।
আপনার পার্টিশন শারীরিক এবং মাত্র যৌক্তিক না হন, তাহলে আপনি বিভিন্ন প্রসেস না থাকার কিছু সময় অর্জন করতে পারেন একযোগে বিভিন্ন পার্টিশন পূরণ (অবশ্যই এর অর্থ হল আপনি ব্যবহার করতে পারবেন না এর TABLOCK
/ TABLOCKX
)। এটি ধরে নিয়েছে যে উত্সটি ওভারল্যাপিং / লকিং ইত্যাদি ছাড়াই নির্বাচন করা এবং অপারেশনের সেই দিকটিকে আরও ধীরে ধীরে তৈরি করার জন্যও উপযুক্ত (ইঙ্গিত: গন্তব্যটিতে পার্টিশন স্কিম অনুসারে উত্সটিতে একটি ক্লাস্টারড সূচক তৈরি করুন)।
আপনি অনেক বেশি আদিম কিছু বিবেচনা করতে পারেন, যেমন BCP OUT
/BCP IN
।
আমি জানি না যে আমি এটিতে সহায়তা করতে এসএসআইএসে ঝাঁপিয়ে পড়ব। সেখানে সম্ভবত কিছু দক্ষতা রয়েছে, তবে আমি জানি না যে প্রচেষ্টাটি সঞ্চয়কে ন্যায্য করে।