আমি একটি খালি ডাটাবেসে প্রচুর পরিমাণে ডেটা আমদানি করছি এবং আমি শুরু করার আগে আমি আমদানির কার্যকারিতা উন্নত করতে পারি কিনা তা দেখার জন্য সমস্ত অ-অনন্য-ক্লাস্টারযুক্ত সূচি অক্ষম করে রেখেছি।
এখন আমি সূচিগুলি পুনরায় সক্ষম করতে চাই এবং আমি ভাবছি যে এটিকে অপ্টিমাইজ করার জন্য আমি কিছু করতে পারি কিনা।
আবার> 100 টি টেবিল এবং প্রায় 2,000 সূচি পুনর্নির্মাণ করতে হবে। ডাটাবেসটি 200 গিগাবাইট আকারের।
আমি যে স্ক্রিপ্টটি চালাচ্ছি তার মূল বিভাগটি হ'ল:
declare c_toggle_index cursor FORWARD_ONLY READ_ONLY for
select 'alter index ' + QUOTENAME(i.name) + ' on ' + o.name + ' rebuild'
from sys.indexes as i
Inner Join sys.objects o
On o.object_id = i.object_id
Where o.is_ms_shipped = 0
And i.index_id >= 1
and i.type > 1
and i.is_disabled = 1
আমি পরিবর্তিত সূচক বিবৃতিটির জন্য অনলাইনে = অফ সেট করা বিবেচনা করেছি, তবে সূচকগুলি অক্ষম হওয়ার সাথে সাথে আমি নিশ্চিত ছিলাম না যে এই সেটিংটির কোনও প্রভাব ফেলবে। আমি SORT_IN_TEMPDB = চালু করার বিষয়টিও বিবেচনা করেছি, তবে টেমপ্লেডবি ফাইলগুলি যেমন ডাটাবেসের .mdf ফাইলগুলির মতো একই ড্রাইভে রয়েছে আমি ধরে নিয়েছিলাম যে এটি করার কোনও লাভ নেই।
পুনর্নির্মাণ স্ক্রিপ্ট চলাকালীন আমি লক্ষ করেছি যে আমার কাছে প্রচুর CXPACKET অপেক্ষা করার প্রকার রয়েছে। আমি কেন বুঝতে পারছি না কেন তা হবে বা যদি এমন কোনও সমস্যা হয় যা আমি সমাধান করতে চাইছি।
একটি চূড়ান্ত পয়েন্ট যা প্রাসঙ্গিক হতে পারে: আমার পুরো সার্ভারটি বর্তমানে ডাটাবেসে ডেটা আমদানি করা ব্যতীত নিষ্ক্রিয়। চিন্তার বা চিন্তা করার মতো অন্য কোনও ব্যবহারকারীর ক্রিয়াকলাপ নেই; আমার একমাত্র উদ্বেগ হ'ল খুব কম সময়ে ডেটাবেজে ডেটা আমদানি করা।
CXPACKET
অপেক্ষা করছে: সূচক নিজেদের স্ক্যান ইনডেক্স (এমনকি সূচক পুনঃনির্মাণ পুনর্নির্মিত হচ্ছে ), এবং যারা স্ক্যান উপমা ব্যবহার করতে পারেন। আপনার এই অপেক্ষাগুলির বিষয়ে উদ্বিগ্ন হওয়া উচিত নয় - সমান্তরালতা সম্ভবত সহায়তা করছে।