কম্পিউটার

কিভাবে অপ্টিমাইজ করা বিটম্যাপ ফিল্টারিং প্রয়োগ করা হয়?


একটি বিটম্যাপ ফিল্টার শুধুমাত্র উপকৃত হয় যদি এটি নির্বাচনী হয়। ক্যোয়ারী অপ্টিমাইজার সিদ্ধান্ত নেয় কখন একটি অপ্টিমাইজ করা বিটম্যাপ ফিল্টার সহায়ক হওয়ার জন্য যথেষ্ট নির্বাচনী এবং কোন অপারেটরদের জন্য ফিল্টার ব্যবহার করা হবে। অপ্টিমাইজার একটি তারকা যোগদানের সমস্ত বিভাগে অপ্টিমাইজ করা বিটম্যাপ ফিল্টারগুলিকে ফিল্ড করে এবং পরিকল্পনাটি ক্ষুদ্রতম আনুমানিক বাস্তবায়ন খরচ সমর্থন করে কিনা তা সিদ্ধান্ত নিতে খরচের নিয়ম ব্যবহার করে৷

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

যে অপারেটরে অপ্টিমাইজ করা বিটম্যাপ ফিল্টারটি ব্যবহার করা হয় তাতে প্রোব ([Opt_Bitmap1001], {[column_name]} [, 'IN ROW']) ডিজাইনে একটি বিটম্যাপ প্রিডিকেট অন্তর্ভুক্ত থাকে। বিটম্যাপ নিম্নোক্ত ডেটার পূর্বাভাস দেয়:

  • বিটম্যাপ নামটি বিটম্যাপ অপারেটরে প্রবর্তিত নামের সাথে সম্পর্কযুক্ত। উপসর্গ 'Opt_' বোঝায় একটি অপ্টিমাইজ করা বিটম্যাপ ফিল্টার ব্যবহার করা হয়েছে৷

  • কলামের বিপরীতে অনুসন্ধান করা হয়েছে। এটি সেই শব্দ যা থেকে ফিল্টার করা ডেটা গাছের মধ্য দিয়ে প্রবাহিত হয়।

  • বিটম্যাপ প্রোবের ইন-সারি অপ্টিমাইজেশন প্রয়োজন কিনা। যখন এটি হয়, বিটম্যাপ প্রোবটি IN ROW পরামিতি দিয়ে আহ্বান করা হয়। বিকল্পভাবে, এই প্যারামিটারটি অনুপস্থিত।

অপ্টিমাইজ করা বিটম্যাপ ফিল্টারিং প্রয়োজনীয়তা

অপ্টিমাইজ করা বিটম্যাপ ফিল্টারিংয়ের নিম্নলিখিত প্রয়োজনীয়তা রয়েছে −

  • ফ্যাক্ট টেবিলে ন্যূনতম 100 পৃষ্ঠা থাকতে পারে বলে আশা করা হচ্ছে। অপ্টিমাইজার ছোট টেবিলগুলিকে ডাইমেনশন টেবিল হিসাবে বিবেচনা করে।

  • একটি ফ্যাক্ট টেবিল এবং একটি ডাইমেনশন টেবিলের মধ্যে শুধুমাত্র অভ্যন্তরীণ যোগ রয়েছে।

  • ফ্যাক্ট টেবিল এবং ডাইমেনশন টেবিলের মধ্যে যোগদানের পূর্বাভাস একটি একক কলাম যোগ হওয়া উচিত কিন্তু একটি প্রাথমিক-কী-থেকে-বিদেশী-কী সম্পর্ক হওয়ার প্রয়োজন নেই। একটি পূর্ণসংখ্যা-ভিত্তিক কলাম বেছে নেওয়া হয়েছে।

  • মাত্রার সাথে যোগদান শুধুমাত্র তখনই বিবেচনা করা হয় যখন ডাইমেনশন ইনপুট কার্ডিনালিটি ফ্যাক্ট টেবিলের ইনপুট কার্ডিনালিটি থেকে ছোট হয়।

বিটম্যাপ শো প্ল্যান অপারেটর ব্যবহার করে কোয়েরি প্ল্যানে বিটম্যাপ ফিল্টারিং এবং অপ্টিমাইজ করা বিটম্যাপ ফিল্টারিং চালানো হয়। বিটম্যাপ ফিল্টারিং শুধুমাত্র সমান্তরাল ক্যোয়ারী প্ল্যানে ব্যবহার করা হয় যেখানে হ্যাশ বা মার্জ জয়েন ব্যবহার করা হয়। অপ্টিমাইজ করা বিটম্যাপ ফিল্টারিং শুধুমাত্র সমান্তরাল ক্যোয়ারী প্ল্যানের সাথে প্রাসঙ্গিক যেখানে হ্যাশ জয়েন ব্যবহার করা হয়।

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


  1. ইন্টারনেট এক্সপ্লোরারে অ্যাক্টিভএক্স ফিল্টারিং কীভাবে ব্যবহার করবেন

  2. কীভাবে 'ভলিউম বিটম্যাপ ভুল' CHKDSK ত্রুটি ঠিক করবেন?

  3. অপ্টিমাইজড ম্যাক স্টোরেজ কীভাবে বন্ধ করবেন তার নির্দেশিকা

  4. বেস ফিল্টারিং ইঞ্জিন পরিষেবা স্টার্টআপ সমস্যাগুলি কীভাবে মেরামত করবেন?