আমাদের প্রকল্পটি একটি খুব বড়, খুব জটিল ডাটাবেস চালায়। সুতরাং প্রায় এক মাস আগে, আমরা লক্ষ্য করেছি যে নাল মানগুলি সহ সূচিযুক্ত কলামগুলির দ্বারা ব্যবহৃত স্থানটি খুব বড় হয়ে উঠছে। এর প্রতিক্রিয়া হিসাবে, আমি স্ক্রিপ্ট হিসাবে লিখেছিলাম যা 1% এরও বেশি নাল মানগুলির সমন্বিত সমস্ত একক-কলাম সূচকগুলির মধ্যে গতিশীলভাবে অনুসন্ধান করবে এবং তারপরে সেই সূচিগুলি ফিল্টার সূচী হিসাবে ড্রপ করে পুনরায় তৈরি করবে যে মানটি শূন্য ছিল না। এটি ডাটাবেস জুড়ে কয়েকশ সূচি ছেড়ে এবং পুনরায় তৈরি করবে এবং সাধারণত পুরো ডিবি দ্বারা ব্যবহৃত প্রায় 15% স্থান মুক্ত করে দেবে।
এখন আমার এই সম্পর্কে দুটি প্রশ্ন আছে:
ক) এই ফ্যাশনে ফিল্টারড সূচকগুলি ব্যবহারের ডাউনসাইডগুলি কী কী? আমি ধরে নেব যে এটি কেবল পারফরম্যান্সের উন্নতি করবে, তবে কোনও কার্যকারিতা ঝুঁকির সাথে জড়িত রয়েছে কি?
খ) সূচিগুলি বাদ দেওয়া এবং পুনরায় তৈরি করার ক্ষেত্রে আমরা ত্রুটি পেয়েছি ( 'এক্সএক্সজেড ছেড়ে দিতে পারছি না কারণ এটি বিদ্যমান নেই বা আপনার অনুমতি নেই' ), পরে যখন পরীক্ষা করা হয়েছিল তখনও সবকিছু প্রত্যাশার মতো ঠিক চলে গিয়েছিল। কীভাবে এটি ঘটতে পারে?
কোন সাহায্যের জন্য ধন্যবাদ!
সম্পাদনা: @ থমাস কেজারের জবাবে
হাই এবং ধন্যবাদ, তবে দেখা যাচ্ছে এটি একটি বিপর্যয় ছিল। সেই সময় আমরা বেশ কয়েকটি বিষয় বুঝতে পারি নি যেমন:
- কোনও প্রশ্নের সময়, এসকিউএলওএস সারণী কলামগুলিতে যোগদানের জন্য নুল মানগুলি ব্যবহার করতে পারে না তা নির্ধারণের আগে সূচী পরিকল্পনা তৈরি করে। IE, আপনার ক্যোয়ারিতে প্রতিটি ফিল্টারড সূচকের জন্য সূচকের জন্য WHITE ক্লজ ফিল্টার থাকা দরকার, বা সূচকটি কোনও ক্ষেত্রেই ব্যবহৃত হবে না।
- সূচিগুলি বাদ দেওয়া এবং তৈরি করা এবং পুনরায় অপ্রয়োজনীয়তার সাথে তাদের পরিসংখ্যানগুলি পুনরায় আপডেট করার পরে এখনও আপডেট হওয়া পরিকল্পনাগুলি তৈরি করার পক্ষে পর্যাপ্ত পরিমাণে নাও হতে পারে, যা আমরা ধরে নিয়েছিলাম তারা করবে। এটি কিছু ক্ষেত্রে উপস্থিত হয় কেবলমাত্র একটি উচ্চ পর্যাপ্ত কাজের চাপ SQL সার্ভারকে পরিকল্পনাগুলি পুনর্নির্ধারণে বাধ্য করবে।
- মৃত্যুদণ্ড কার্যকর করার পরিকল্পনাকারীর কার্যকারিতার জন্য কিছু এক্সটোটিক রয়েছে যা সাধারণ জ্ঞান এবং যুক্তি দ্বারা নির্ধারণ করা কঠিন। এমনকি হাজারো কোড-ব্যাক-জেনারেটড বিভিন্ন প্রকারের বিভিন্ন পরিবর্তনের সাথে, আপাতদৃষ্টিতে অকেজো সূচীগুলি কিছু পরিসংখ্যান এবং ক্যোয়ারী পরিকল্পনায় সহায়তা করতে পারে যা সমালোচনামূলক অনুসন্ধানগুলিতে ব্যবহৃত হয়।
শেষ পর্যন্ত, এই পরিবর্তনগুলি উল্টানো হয়েছিল। সুতরাং ফিল্টারড সূচকগুলি একটি শক্তিশালী সরঞ্জাম, তবে আপনাকে সেই কলামগুলি থেকে কী ডেটা নেওয়া হচ্ছে তা সত্যই বুঝতে হবে। যেখানে স্থান সংক্রান্ত সমস্যাগুলি বাদ দিয়ে সাধারণ সূচিগুলি প্রয়োগ করা বরং সহজ, ফিল্টার সূচকগুলি খুব কাস্টমাইজড সমাধানগুলি উপস্থাপন করে। এগুলি অবশ্যই নিয়মিত সূচকের জন্য প্রতিস্থাপন নয়, বরং বিশেষ বিশেষ পরিস্থিতিতে তাদের প্রয়োজন বোধ করা।