সহজ প্রশ্ন, কিন্তু এটি এখন কিছুক্ষণের জন্য আমাকে ঘিরে রেখেছে ...
মাইএসকিউএলে "ওভারহেড" কী এবং আমি কি উদ্বিগ্ন হওয়া উচিত?
"টেবিলটি অপ্টিমাইজ করা" ক্লিক করা কি এটি বাস্তবের জন্য ঠিক করে?
সহজ প্রশ্ন, কিন্তু এটি এখন কিছুক্ষণের জন্য আমাকে ঘিরে রেখেছে ...
মাইএসকিউএলে "ওভারহেড" কী এবং আমি কি উদ্বিগ্ন হওয়া উচিত?
"টেবিলটি অপ্টিমাইজ করা" ক্লিক করা কি এটি বাস্তবের জন্য ঠিক করে?
উত্তর:
দেখা যাচ্ছে যে ওভারহেডটি অস্থায়ী ডিস্কস্পেস যা ডেটাবেসটি কিছু অনুসন্ধান চালাতে ব্যবহৃত হয়, সুতরাং এটি যদি সত্যিই বেশি হয় তবে আপনার কেবলমাত্র চিন্তিত হওয়া উচিত।
আপনি নিজের হার্ড ড্রাইভের ডিফ্র্যাগমেন্টিংয়ের সাথে 'টেবিলটি অপ্টিমাইজ করা' তুলনা করতে পারেন।
আমি উদ্ধৃতি:
প্রতিটি ডাটাবেস, সময়ের সাথে সাথে, এটি সর্বোত্তম পারফরম্যান্স স্তরে রাখার জন্য কিছু রক্ষণাবেক্ষণের প্রয়োজন হয় । মুছে ফেলা সারিগুলি শোধন করা, পুনরায় সন্ধান করা, সংক্ষেপণ করা, সূচকের পাথ পরিচালনা করা, ডিফ্র্যাগমেন্টিং ইত্যাদি mys এটিই মাইএসকিএল এবং অন্যান্য ডাটাবেসের অন্যান্য শর্তাদি অপ্টিমাইজেশন হিসাবে পরিচিত। উদাহরণস্বরূপ, আইবিএম ডিবি 2/400 এটিকে ফিজিক্যাল ফাইল মেম্বারকে পুনর্গঠিত বলে।
এটি আপনার গাড়ীর তেল পরিবর্তন বা টিউন-আপ করার মতো। আপনার মনে হতে পারে যে আপনার সত্যিই দরকার নেই, তবে এটি করার মাধ্যমে আপনার গাড়িটি আরও ভাল চলবে, আপনি ভাল গ্যাস মাইলেজ পাবেন etc. ইত্যাদি। একটি গাড়ি যা প্রচুর মাইলেজ পায় তার জন্য প্রায়শই সুর করা প্রয়োজন। একটি ডাটাবেস যা ভারী ব্যবহার হয় একই প্রয়োজন। আপনি যদি অনেকগুলি আপডেট এবং / অথবা মুছে ফেলা অপারেশন করছেন, এবং বিশেষত যদি আপনার টেবিলগুলিতে পরিবর্তনশীল দৈর্ঘ্যের কলাম (ভ্রচার, পাঠ্য ইত্যাদি) থাকে তবে আপনার 'টিউনটি চালিয়ে যাওয়া দরকার।
যদি আপনি যে জিনিসটির জন্য phpMyAdmin
কল করেন সেই বিষয়ে কথা বলছেন overhead
, তবে এটি একই ডাটাফিলের আদর্শ আকারের সাথে সম্পর্কিত কোনও টেবিল ডেটাফাইলের প্রকৃত আকার (যেন সবেমাত্র ব্যাকআপ থেকে পুনরুদ্ধার করা হয়েছে)।
পারফরম্যান্স কারণে, MySQL
সারিগুলি মুছে ফেলা বা আপডেট করার পরে ডেটাফাইলে কমপ্যাক্ট করে না।
এটি overhead
টেবিল স্ক্যানের জন্য খারাপ, অর্থাত্ যখন আপনার ক্যোয়ারিতে সমস্ত টেবিলের মানগুলি চালিত হওয়ার দরকার হয়, তখন এটি আরও খালি জায়গার দিকে তাকাতে হবে।
আপনার টেবিল এবং সূচিগুলি সংহত করবে যা overhead
চালিয়ে আপনি পরিত্রাণ পেতে পারেন OPTIMIZE TABLE
।
ওভারহেড হ'ল একটি টেবিলের ডেটা_ফ্রি , এটি হ'ল বরাদ্দ কিন্তু অব্যবহৃত বাইটের সংখ্যা। আমরা এটি এসকিউএল কমান্ড শো টেবিল পরিস্থিতি দ্বারা এটির সন্ধান করতে পারি । এটি আপনার টেবিলের জন্য বরাদ্দ আকারে বিনামূল্যে স্থান।
অপ্টিমাইজ টেবিলটি খুব সমস্যাযুক্ত হতে পারে। উদাহরণস্বরূপ, যদি কোনও সাইটে টেবিলটি ভারীভাবে ব্যবহৃত হয়।
http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html
কোনও মাইস্যাম বা আর্কাইভ টেবিলের একটি বৃহত অংশ মুছে ফেলার পরে, বা মাইআইএসএএম বা আর্কাইভ টেবিলটিতে ভেরিয়েবল-দৈর্ঘ্যের সারিগুলির সাথে অনেকগুলি পরিবর্তন করার পরে (টেবিলগুলিতে ভ্যাচারার, ভারবাইনারি, ব্লোব বা টেক্সট কলাম রয়েছে)। মুছে ফেলা সারিগুলি একটি লিঙ্কযুক্ত তালিকায় রক্ষা করা হয় এবং পরবর্তী INSERT ক্রিয়াকলাপগুলি পুরানো সারি অবস্থানগুলি পুনরায় ব্যবহার করে <
আমি বিশ্বাস করি আমি এই আচরণটি নিশ্চিত করেছি। এবং এটি অবশ্যই খুব দরকারী হবে।