বর্তমানে, আমাদের একটি বিদ্যমান ডাটাবেস এবং অ্যাপ্লিকেশন রয়েছে যা পুরোপুরি কার্যকর হয়। আমার এই সময়ে আর্কিটেকচার পরিবর্তন করার ক্ষমতা নেই। আজ, ডাটাবেসের প্রতিটি টেবিলের একটি "ইসডিল্টেড" নট বিট ক্ষেত্র নেই '0' এর ডিফল্ট সহ। অ্যাপ্লিকেশনটি "মুছে ফেলা" ডেটা দিলে, এটি কেবল ইসডিলটেড পতাকাটিকে 1 এ আপডেট করে।
আমার যে সমস্যা বুঝতে সমস্যা হচ্ছে তা হ'ল প্রতিটি টেবিলের সূচকগুলি কীভাবে কাঠামোযুক্ত করা উচিত। এখনই, প্রতিটি ক্যোয়ারী / যোগদান / ইত্যাদি সর্বদা ইসডিলিট করা চেকটি প্রয়োগ করে। এটি এমন একটি মান যা আমাদের বিকাশকারীদের অবশ্যই অনুসরণ করা উচিত। বলা হচ্ছে, আমি নির্ধারণ করার চেষ্টা করছি যে প্রতিটি টেবিলের আমার ক্লাস্টারযুক্ত প্রাথমিক কী সূচিগুলিকে প্রাথমিক কী এবং ইসডিলিট বিট ক্ষেত্র অন্তর্ভুক্ত করার জন্য পরিবর্তন করা দরকার কিনা। এছাড়াও, যেহেতু প্রত্যেকটি ক্যোয়ারী / যোগদান / ইত্যাদি। আইসডিলেটেড চেকটি প্রয়োগ করতে হবে, এটি কি যথাযথ অনুমান যে প্রতিটি সিঙ্গল ইন্ডেক্স (সেইসাথে ক্লাস্টারযুক্ত নয়) ইএসডিলেটেড ক্ষেত্রকেও সূচকের প্রথম ক্ষেত্র হিসাবে অন্তর্ভুক্ত করা উচিত?
আমার অন্য একটি প্রশ্ন ফিল্টার সূচকগুলি প্রায়। আমি বুঝতে পারি যে আমি সূচকগুলির আকার হ্রাস করতে "WHERE IsDeleted = 0" এর মতো সূচীতে ফিল্টার রাখতে পারি। তবে যেহেতু প্রতিটি যোগদান / ক্যোয়ারিতে আইসডিলেটেড চেকটি প্রয়োগ করতে হবে, তা কি ফিল্টারড সূচকটি ব্যবহার করা থেকে বিরত রাখবে (যেহেতু আইসডিলেটেড কলাম যোগ / কোয়েরিতে ব্যবহৃত হয়)?
মনে রাখবেন, ইসডিলটেড পদ্ধতির পরিবর্তন করার ক্ষমতা আমার নেই।
IsDeleted
শারীরিক স্টোরেজ নির্বিশেষে কলামটির সর্বব্যাপীতা এবং গুরুত্ব দেওয়া , প্যারামিটারাইজেশন ইস্যু দুটোই সমাধান করা এবং ডেটা অ্যাক্সেস করার ক্ষেত্রে ভুল করা, উভয় দৃষ্টিভঙ্গির মাধ্যমে (বৈকল্পিকভাবে বিভিন্ন স্কিমায়) ডেটা প্রকাশ করা বোধগম্য হবে অ্যাক্সেস কম সম্ভাব্য। বেস ডেটা অ্যাক্সেস কেবল বিরল ক্ষেত্রেই প্রাসঙ্গিক যেখানে মুছে ফেলা এবং অ-মোছা ডেটা একসাথে একত্রিত করা দরকার এবং যখন সারিগুলি আসলে "মুছে ফেলা" তে পরিবর্তন করা দরকার।