এখানে কেবলমাত্র একটি স্থিতি পরিবর্তনশীল যা সারণ_বাফার_সাইজ সম্পর্কে চিন্তা করে । এই বার্তায় আপনার কাছে যা রয়েছে প্রশ্নটিতে: সাজানো_ ডুবানো_পাসগুলি । মাইএসকিউএল ডকুমেন্টেশন বলেছেন:
বাছাই_স্রোত_পাসগুলি: সাজানোর অ্যালগরিদমকে যে একত্রীকরণের পাসটি করেছে তা। তাহলে এই মান বড় হয়, তাহলে আপনি এর মান বৃদ্ধি করা বিবেচনা করা উচিত sort_buffer_size সিস্টেম ভেরিয়েবল।
বাছাই_বাফার_সাইজ সম্পর্কে দয়া করে একটি জিনিস মনে রাখবেন
আপনি যদি শ্লোবাল স্ট্যাটাস আউটপুটে প্রতি সেকেন্ডে অনেক Sort_ विसর_পাসগুলি দেখতে পান, আপনি অর্ডার বা গ্রুপ বাই ক্রিয়াকলাপগুলিকে সন্ধান করতে বাছাই করে বাছাই করুন_উফার_সাইজ মান বাড়িয়ে বিবেচনা করতে পারেন যা কোয়েরি অপ্টিমাইজেশন বা উন্নত সূচী দিয়ে উন্নত করা যায় না
উত্থাপন যখন s এবং s এর sort_buffer_size
সাথে প্রশ্নের সাহায্য করতে পারে , আপনি ক্যোরি অপটিমাইজার দ্বারা ব্যবহার করা যেতে পারে এমন সূচিগুলি যা আপনি উন্নত করতে পারেন তা উন্নত করতে পারেন।GROUP BY
ORDER BY
প্রশ্নটি রয়ে গেছে: আপনি কীভাবে বাছাই করুন_সওয়ার_পাসগুলি ???
এই কোডটি ব্যবহার করুন, সর্বশেষ 5 মিনিটে কতগুলি Sort_ विसর_পাস হয়েছে তা পরীক্ষা করতে। এটি প্রতি ঘন্টা বাছাই করা বাছাই করা_পরিবার_প্যাসগুলিও গণনা করে।
SET @SleepTime = 300;
SELECT variable_value INTO @SMP1
FROM information_schema.global_status WHERE variable_name = 'Sort_merge_passes';
SELECT SLEEP(@SleepTime) INTO @x;
SELECT variable_value INTO @SMP2
FROM information_schema.global_status WHERE variable_name = 'Sort_merge_passes';
SET @SMP = @SMP2 - @SMP1;
SET @SMP_RATE = @SMP * 3600 / @SleepTime;
SELECT @SMP,@SMP_RATE;
আপনি যদি সাজান_ডম_পাসগুলি এবং হারটি খুব বেশি খুঁজে পান তবে সৃজন_বফার_সাইজ নির্বিঘ্নে বোধ করবেন । মনে করুন আপনি 4M তে বাড়িয়ে তুলতে চান আপনি এটি চালাতে হবে:
mysql> SET GLOBAL sort_buffer_size = 1024 * 1024 * 4;
তারপরে আপনি এটিকে my.cnf এ যুক্ত করবেন
[mysqld]
sort_buffer_size = 4M
আপনি অন্য সময় পরীক্ষা করার জন্য কোডটি পর্যায়ক্রমে চালাতেন Sort_ विसর_পাস্ক স্পাইকগুলি।