যখন আমরা প্রচুর পরিমাণে ডেটা সহ কোনও বিদ্যমান টেবিলটিতে একটি সূচক যুক্ত করি তখন কী হয়?


11

আমার কাছে একটি টেবিল রয়েছে যার মধ্যে প্রায় 15 মিলিয়ন ডলার রেকর্ড থাকবে। এখন আমার টেবিলে একটি সূচি যুক্ত করতে হবে।

একটি সূচি যোগ করা সারণীতে প্রতিটি এন্ট্রি আপডেট করতে কিছুটা সময় নেবে।

আমি সূচক যুক্ত করার কারণে ডাউনটাইম হবে কিনা তা নিয়ে আমি বেশ বিভ্রান্ত।

যদি হ্যাঁ, তবে আমি কীভাবে ডাউনটাইমকে কাটিয়ে উঠতে পারি?


উত্তর:


10

সরল সহ CREATE INDEX, টেবিলটি লেখার জন্য লক হয়ে যাবে তবে পড়বে না।

CREATE INDEX CONCURRENTLYপাশাপাশি লেখার লক এড়াতে ব্যবহার করুন ।

পোস্টগ্র্রেএসকিউএল ডক্সCREATE INDEX থেকে এখানে :

যখন এই বিকল্পটি ব্যবহার করা হয়, পোস্টগ্রেএসকিউএল কোনও লক না নিয়ে সূচকটি তৈরি করে যা টেবিলে একসাথে প্রবেশ, আপডেটগুলি বা মুছতে বাধা দেয়; যদিও একটি স্ট্যান্ডার্ড ইনডেক্স বিল্ড লক আউট টেবিলের উপরে লেখা হয় (তবে পড়ে না) যতক্ষণ না শেষ হয়। এই বিকল্পটি ব্যবহার করার সময় সচেতন হওয়ার জন্য বেশ কয়েকটি সতর্কতা রয়েছে - একই সাথে বিল্ডিং সূচিগুলি দেখুন

এবং আরও সুনির্দিষ্টভাবে (লাইক করুন @ টাইপারকিউব ):

পোস্টগ্র্রেএসকিউএল লেখার বাইরে তালা না দিয়ে বিল্ডিং সূচকগুলি সমর্থন করে । CONCURRENTLYবিকল্পটি নির্দিষ্ট করে এই পদ্ধতিটি চালু করা হয়েছে CREATE INDEX। যখন এই বিকল্পটি ব্যবহার করা হয়, পোস্টগ্রেএসকিউএলকে অবশ্যই টেবিলের দুটি স্ক্যান সম্পাদন করতে হবে এবং এর সাথে সাথে অবশ্যই বিদ্যমান সমস্ত লেনদেনের জন্য অপেক্ষা করতে হবে যা সম্ভাব্যভাবে সূচকটি সমাপ্ত করতে ব্যবহার করতে পারে। সুতরাং এই পদ্ধতিটির জন্য স্ট্যান্ডার্ড সূচক তৈরির চেয়ে আরও বেশি মোট কাজ প্রয়োজন এবং সম্পূর্ণ হতে উল্লেখযোগ্যভাবে বেশি সময় নেয়। তবে, যেহেতু এটি সূচকটি তৈরি হওয়ার সময় স্বাভাবিক ক্রিয়াকলাপ চালিয়ে যাওয়ার অনুমতি দেয়, তাই এই পদ্ধতিটি উত্পাদন পরিবেশে নতুন সূচী যুক্ত করার জন্য কার্যকর।

বোল্ড জোর আমার।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.