উন্নত পারফরম্যান্সের জন্য টেবিলগুলিকে ডিফ্র্যাগমেন্ট করতে অপ্টিমাইজ টেবিলটি চালান


12

আমি লিনাক্স 64৪-বিট ওএস চালাচ্ছি। আমার মাইএসকিএল টিউনারটি নীচের জিনিসগুলি বলছে:

-------- সাধারণ পরিসংখ্যান ---------------------------------------- ----------
[-] মাইএসকিউএলটিউনার স্ক্রিপ্টের জন্য এড়িয়ে যাওয়া সংস্করণ চেক
[ওকে] বর্তমানে সমর্থিত মাইএসকিউএল সংস্করণ 5.1.61-লগ চলছে
[ঠিক আছে] -৪-বিট আর্কিটেকচারে অপারেটিং

-------- স্টোরেজ ইঞ্জিনের পরিসংখ্যান --------------------------------------- ----
[-] স্থিতি: -আর্কাইভ-বিডিবি-সংশ্লেষিত + ইনোডিবি -আইএসএএম -এনডিবিসিলেটর
[-] মাইআইএসএএম টেবিলগুলিতে ডেটা: 1 জি (টেবিলগুলি: 1914)
[-] ইনোডিবি সারণিতে ডেটা: 4 এম (টেবিল: 199)
[!!] মোট খণ্ডিত টেবিল: 296

-------- সুরক্ষা প্রস্তাবনা ---------------------------------------- ---
[ঠিক আছে] সমস্ত ডাটাবেস ব্যবহারকারীদের পাসওয়ার্ড বরাদ্দ করা হয়েছে

-------- কর্মক্ষমতা বৈশিষ্ট্যের মান ---------------------------------------- ---------
[-] আপ আপ: 6 এস (7 কে কিউ [1 কে কিপিএস], 142 সংযোগ, টিএক্স: 8 এম, আরএক্স: 701 কে)
[-] পঠন / রচনা: 97% / 3%
[-] মোট বাফার: 1.7G গ্লোবাল + থ্রেড প্রতি 13.2M (384 সর্বোচ্চ থ্রেড)
[ঠিক আছে] সর্বাধিক সম্ভব মেমরির ব্যবহার: 6.6 জি (ইনস্টল হওয়া র‌্যামের 42%)
[ঠিক আছে] ধীরে প্রশ্ন: 0% (0/7 কে)
[ঠিক আছে] উপলব্ধ সংযোগগুলির সর্বাধিক ব্যবহার: 5% (20/384)
[ঠিক আছে] কী বাফার আকার / মোট মাইআইএসএএম সূচি: 1.5 জি / 2.7 জি
[ঠিক আছে] কী বাফার হিট রেট: 97.4% (553 কে ক্যাশেড / 14 কে পড়ে)
[ঠিক আছে] ক্যোয়ারী দক্ষতা অনুসন্ধান করুন: .6৪..6% (৪ কে ক্যাশেড / K কে নির্বাচন করে)
[ওকে] প্রতিদিন ক্যোয়ারি ক্যাশে করে: 0
[ঠিক আছে] অস্থায়ী টেবিলগুলির জন্য প্রয়োজনীয় সাজানগুলি: 0% (২ টেম্পের ধরণের / 337 প্রকার)
[ঠিক আছে] ডিস্কে অস্থায়ী সারণী তৈরি করা হয়েছে: 8% (ডিস্কে 17 / মোট 17)
[ঠিক আছে] থ্রেড ক্যাশে হিট রেট: 85% (20 টি তৈরি / 142 সংযোগ)
[ঠিক আছে] সারণী ক্যাশে হিট রেট: 98% (438 খোলা / 445 খোলা)
[ঠিক আছে] ফাইলের সীমা খুলুন: 10% (856/8 কে)
[ঠিক আছে] সারণী লকগুলি তাত্ক্ষণিক অর্জিত: 99% (2K অবিলম্বে / 2 কে লক)
[ঠিক আছে] InnoDB ডেটার আকার / বাফার পুল: 4.2M / 8.0M


-------- প্রস্তাবনাগুলি ----------------------------------------- ------------
সাধারণ সুপারিশ:
    উন্নত পারফরম্যান্সের জন্য টেবিলগুলিকে ডিফ্র্যাগমেন্ট করতে অপ্টিমাইজ টেবিলটি চালান
    মাইএসকিউএল গত 24 ঘন্টার মধ্যে শুরু হয়েছিল - সুপারিশগুলি ভুল হতে পারে

তাদের সুপারিশগুলি OPTIMIZE TABLEআরও ভাল পারফরম্যান্সের জন্য ডিফল্টমেন্ট টেবিলগুলিতে চালানো হয়; তবে পুট্টির মাধ্যমে কীভাবে এটি চালানো যায় তা আমি জানি না।

এমন কেউ আছেন যে আমাকে কোড দিতে পারেন আমি পুত্রের মাধ্যমে কীভাবে এটি চালাব?

উত্তর:


7

OPTIMIZE TABLE এটি একটি এসকিউএল বিবৃতি - এটি একটি মাইএসকিউএল ক্লায়েন্টে চালান।

সার্ভারের কমান্ড লাইনে আপনার কমান্ড লাইন ক্লায়েন্ট ইনস্টল করা উচিত; আপনি ক্লায়েন্টে আপনার ডাটাবেসের সাথে সংযোগ করতে পারেন mysql -u username -p

আরও তথ্যের জন্য ডকুমেন্টেশনOPTIMIZE TABLE দেখুন ।


এই সাইটটি পেশাদার সিস্টেম প্রশাসকদের দ্বারা জিজ্ঞাসিত প্রশ্ন সম্পর্কে about
gparent

@ স্বামী - উহ কি এই প্রশ্নটির অর্থ ছিল, শেনের পুরোপুরি বৈধ উত্তর নয়?
মার্ক হেন্ডারসন

2
@ গৌণ অধিকার - তবে আমি মনে করি না যে কোনও এসকিউএল বিবৃতি যখন তারা দেখবে তখন তার ভিত্তিতে কারও পেশাদারিত্বের বিচার করা ন্যায়সঙ্গত। গবেষণাটি দ্রুত উত্তরটি সরিয়ে ফেলতে পারে, তবে .. এই সম্প্রদায়টি খুব "সুস্পষ্ট" হওয়ার কারণে প্রশ্নগুলি ফিরিয়ে দেয় এই ধারণাটি আমার পছন্দ হয় না।
শেন ম্যাডেন

আপনি ঠিক বলেছেন, আমার মন্তব্যটি এখানে মোটেই অন্তর্ভুক্ত নয়, আমি মনে করি লেখক শেনের প্রশ্নে একটি মন্তব্য পোস্ট করেছিলেন এবং তা সরিয়ে দিয়েছিলেন, হয় বা আমি সত্যিই বরকতের প্রশ্নের উপর এটি পোস্ট করতে চেয়েছিলাম তবে আমি সাধারণত আরও তথ্য যুক্ত করতাম যদি এটা কেস ছিল।
gparent

1
যদিও আমি আপনার সাথে একমত নই, এমন একটি জায়গা আছে যেখানে আপনাকে রেখাটি আঁকতে হবে। আমি মনে করি এটা সঠিকভাবে বলেছি যে একজন পেশাদার (FAQ: একটি পেশাদার দক্ষতায়) বর্তমানে মাইএসকিউএল ডাটাবেসের সাথে কাজ করছেন এবং সেগুলি অনুকূল করার চেষ্টা করার জন্য শব্দটি গুগল করার পক্ষে যথেষ্ট দক্ষ হতে হবে এবং এটি প্রথম অনুসন্ধানের ফলাফল থেকে মাইএসকিউএল কোয়েরি হিসাবে খুঁজে পাওয়া উচিত। হতে পারে আমি যে কোনও কর্মচারীর কাছে খুব বেশি প্রত্যাশা করছি ..
gparent

18

আপনি mysqlcheck -u username -p --auto-repair --optimize --all-databasesটার্মিনালে চেষ্টা করতে পারেন ।

যতক্ষণ পর্যন্ত "অপ্টিমাইজ টেবিল" mysql -u username -pচালানো যায় আপনি এই জাতীয় মাইএসকিউএল শুরু করতে পারেন এবং সেখান থেকে আপনি আদেশগুলি কার্যকর করতে পারেন। সাধারণত আমি প্রথম কমান্ডটি ব্যবহার করি show databases;তবে আপনার প্রথমে একটি মাইএসকিউএল টিউটোরিয়ালটি পাওয়া উচিত। গুগলে প্রথম যেটি এসেছে: http://downloads.mysql.com/docs/mysql-tutorial-excerpt-5.1-en.pdf

আপনি পুট্টি ব্যবহার করছেন কিনা তা অপ্রাসঙ্গিক। আপনি "পুট্টির মাধ্যমে" পরিবর্তে "কমান্ড-লাইন থেকে" বলতে চাইতে পারেন।


2
এটি যেটি গৃহীত হয়েছিল তার চেয়ে এটি আরও ভাল সমাধান। কমান্ডগুলি চালনার আগে সমস্ত ডাটাবেস এবং সারণী গণনা করার দরকার নেই, অটো-মেরামত করা।
সাম্মিচ

1
এছাড়াও এটিকে চালানোর আগে একটি উপকার করুন এবং একটি ডাটাবেস ব্যাকআপ করুন। mysqldump -u username -p dbname > dbname.sqlএবং gzip dbname.sqlএটি সুন্দরভাবে করা উচিত।
ফায়াসকো ল্যাবগুলি

ফিয়াসকো, কমপক্ষে mysqldump -u username -p db_name > dbname.sql
সেন্টোগুলিতে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.