দয়া করে মনে রাখবেন যে অপশনটি সারণী Defragmentation সম্পাদন করে না। অভ্যন্তরীণভাবে, অপ্টিমাইজ টেবিলটি বেশ কয়েকটি ক্রিয়াকলাপ সম্পাদন করে (একটি অস্থায়ী ফাইলে ডেটা অনুলিপি করে, সূচিপত্রগুলি পুনরায় তৈরি করুন, সূচকগুলির পরিসংখ্যানগুলি পুনরায় সংশোধন করুন)। আসলে, আমার যে উদাহরণটি দেখানো হয়েছে তা ম্যানুয়ালি সম্পাদন করা যেতে পারে।
উদাহরণ: আপনি যদি অনুকূলিত হন তবে আপনি mydb.mytable
এই আদেশটি প্রবেশ করুন:
OPTIMIZE TABLE mydb.mytable;
নোট করুন যে মাইএসকিএল হুডের নীচে নিম্নলিখিত কিছু সম্পাদন করে:
CREATE TABLE mydb.mytable2 LIKE mydb.mytable;
ALTER TABLE mydb.mytable2 DISABLE KEYS;
INSERT INTO mydb.mytable2 SELECT * FROM mydb.mytable;
ALTER TABLE mydb.mytable2 ENABLE KEYS;
DROP TABLE mydb.mytable;
ALTER TABLE mydb.mytable2 RENAME mydb.mytable;
ANALYZE TABLE mydb.mytable;
এটি এমন টেবিলগুলির জন্য বেশ কার্যকর যেগুলি আপডেট এবং ডিলিটগুলির একটি উচ্চ ভলিউম অনুভব করে
এটি সম্পাদন করা দুটি জিনিস অর্জন করতে পারে
ডান মাপের টুকরো টুকরোতে ডেটা লোড করার প্রয়াসে কোনও টেবিলের টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টুকরো টেকার থেকে বাঁচান এই টুকরোগুলি বাদ দিয়ে এই ক্রিয়াকলাপ হ্রাস পাবে।
সূচকের পরিসংখ্যানগুলি পুনরায় সাজানো মাইএসকিউএল ক্যোয়ারী অপটিমাইজারকে আরও ভাল পরিকল্পনা করার জন্য সহায়তা করে। অন্যথায়, পরীক্ষাগুলি কার্যকর করার সময় প্রশ্নগুলি আরও খারাপ হতে পারে কারণ মাইএসকিউএল ক্যোরি অপটিমাইজার ব্যাখ্যা পরিকল্পনায় খারাপ অনুমান করার সিদ্ধান্ত নিয়েছে decided এটি এমন কোনও টেবিলের একটি নির্দিষ্ট লক্ষণ হবে যার উচ্চ পরিমাণে আপডেট এবং ডিলিট রয়েছে।
বিচারকার্য স্থগিত রাখার আদেশ
ক্যাচিং সম্পর্কিত, একটি পূর্ণ টেবিল স্ক্যান করার কারণে ক্যাচিং দ্রুত ডুব দেয়। মাইআইএসএএম সূচক পৃষ্ঠাগুলির জন্য মায়িস্যাম কী ক্যাশে এবং এর বাইরে প্রবাহিত হয়। InnoDB- এর জন্য ডেটা এবং সূচী পৃষ্ঠাগুলি InnoDB বাফার পুলের বাইরে এবং বাইরে প্রবাহিত হয়।