কেন তা বোঝার জন্য আপনার ইনোডিবিয়ের ইতিহাস দরকার। এখানে এটা যায়:
যুদ্ধের গল্প
InnoDB এবং ক্যোয়ারী ক্যাশে স্থির যুদ্ধের অবস্থায় রয়েছে। InnoDB বাফার পুলের পরিবর্তনগুলি পরীক্ষা করে এবং তারপরে একই পরিবর্তনের জন্য ক্যোয়ারী ক্যাশে ক্রস চেক করার সময় InnoDB খুব ভারী হাতে রয়েছে।
শান্তি চুক্তি
মাইএসকিউএল 5.0 এর আগে ক্যোয়ারী ক্যাশে InnoDB এর জন্য অক্ষম করা হয়েছিল। এখন, ইনোডিবি এটির সাথে ইন্টারঅ্যাক্ট করে। বিষয়গুলি সহজ করার জন্য, আপনি ক্যোরি_ক্যাচি_সাইজ সেট করে কোয়েরি ক্যাশে অক্ষম করতে পারেন 0 ।
মাইএসকিউএল ডকুমেন্টেশন অনুসারে ক্যোয়ারী_কাছে_টাইমে
সার্ভারটি যদি ক্যোরি_ক্যাচি_ টাইপ 0-এ সেট করে শুরু করা হয় তবে এটি ক্যোয়ারী ক্যাশে মুটেক্স মোটেও অর্জন করে না, যার অর্থ ক্যোয়ারী ক্যাশে রানটাইমে সক্ষম করা যায় না এবং কোয়েরি এক্সিকিউশনে ওভারহেড হ্রাস পেয়েছে।
আত্মসমর্পণের শর্তাদি
বিন্যাস ক্যোয়ারী_ক্যাচি_সাইজ 0 তে এক-আকারের-ফিট-সব সমাধান নয়।
যুদ্ধের কারণ, প্রথমদিকে, ওভারহেড। InnoDB সর্বদা পরিবর্তনগুলি পরীক্ষা করবে। একটি বড় ক্যোয়ারী ক্যাশে ইনোডিবি-কে কাজটি আরও শক্ত করে তুলবে। ক্যোয়ারী ক্যাশে অক্ষম করে আসুন InnoDB এবং ক্যোয়ারী ক্যাশে সুখী হোক। তবে, আপনি (বিকাশকারী / ডিবিএ) খারাপ জিজ্ঞাসা কর্মক্ষমতা, এমনকি এমন একটি শান্তির চুক্তি স্থানে থাকা সত্ত্বেও সেই যুদ্ধের একটি হতাহত হতে পারে।
নিম্নলিখিত উপর নির্ভর করে
- কাজের চাপ
- পরিবর্তনগুলির ফ্রিকোয়েন্সি
- একই তথ্য পড়ার ফ্রিকোয়েন্সি
আপনার ক্যোরি_ক্যাচি_ আকার সেট করা উচিত কার্যকারিতা বাড়বে যে কোনও সংখ্যার জন্য আপনার (এটি একটি ভূগর্ভস্থ আন্দোলন শুরু )।
উপসংহার
আপনি যদি ভাবছেন যে আমি কোথায় এই যুদ্ধের গল্পটি নিয়ে এসেছি, দয়া করে আমার পুরানো পোস্টটি দেখুন
এটি মনোযোগ সহকারে পড়ুন কারণ আমি উচ্চ পারফরম্যান্স মাইএসকিউএল (২ য় সংস্করণ) এর পৃষ্ঠা 209-215 থেকে শিখেছি
আমি আগে অন্যদের কাছে ক্যোয়ারী ক্যাশে অক্ষম করার পরামর্শ দিয়েছি
দ্রষ্টব্য: আমি বুঝতে পারছি যে প্রশ্নটি ক্যোরি_ক্যাচি_প্রকার সম্পর্কে ছিল । এটি ক্যোয়ারী ক্যাশেতে প্রভাব ফেলে। ক্যাশে অক্ষম করা এটির উপরে InnoDB এর আধিপত্য। ক্যোয়ারী_ক্যাচি_ টাইপটি ম্যানুয়ালি সেট করা বিকাশকারী / ডিবিএকে ক্যোয়ারী ক্যাশে যে ধরণের প্রশ্নের মুখোমুখি হবে সেগুলির ধরণের বিষয়ে সাবধানতার সাথে চিন্তা করতে বাধ্য করে।