মাইএসকিএল স্লো ক্যোয়ারী লগের মধ্যে আমি কীভাবে "লক টাইম" ব্যাখ্যা করব?


12

আমি আমাদের মাইএসকিউএল ধীর ক্যোয়ারী লগটিতে প্রদর্শিত প্রশ্নের জন্য লক সময়কে কীভাবে সেরাভাবে ব্যাখ্যা করতে পারি তা বোঝার চেষ্টা করছি।

উদাহরণস্বরূপ যদি কোনও আপডেটের ক্যোয়ারিতে 10 সেকেন্ড লক টাইম থাকে। আমি ধারণা করি আপডেট ক্যোয়ারীটি লকটি অর্জন করার পরে এটি মোট সময়। এমনকি যদি এটি পূর্ববর্তী নির্বাচিত প্রশ্নগুলি সম্পন্ন হওয়ার অপেক্ষায় থাকে তবে নিজেই আপডেটের ক্রিয়াকলাপটি সম্পাদন করে না, তবে আপডেটটি ক্যোয়ারির পরে সারিবদ্ধভাবে থাকা সমস্ত সেলেক্ট কোয়েরিগুলি লক করে রাখার কারণে ঘড়িটি টিক দেওয়া উচিত।

এবং কীভাবে নির্বাচিত ক্যোয়ারী লকগুলি সম্পর্কে। কিছু নির্বাচিত প্রশ্নের কীভাবে লক টাইম আসে? এটি কি কারণ একটি আপডেটের কোয়েরি অনুসরণ করা হচ্ছে তাই তারা একসাথে একটি টেবিল লক করছে।

উত্তর:


19

lock_timeধীর ক্যোয়ারী লগ আসলে সময় কোয়েরি লক এটি চালানোর জন্য প্রয়োজন অর্জন অপেক্ষায় অতিবাহিত পরিমাণ। উদাহরণস্বরূপ, UPDATESপ্রশ্নের জন্য একটি রাইটিং লক প্রয়োজন।

আপনি টেবিলে যে স্টোরেজ ইঞ্জিনটি ব্যবহার করছেন তার উপরও লকিং নির্ভর করে। লেখার সময়, InnoDB সারি-স্তরের লকিং ব্যবহার করবে এবং কেবল যে সারিগুলি পরিবর্তন করা হচ্ছে তা লক করবে। আপডেট / সন্নিবেশ / মোছা শেষ না হওয়া পর্যন্ত মাইআইএসএএম পুরো টেবিলটি লক করে রাখবে।

মাইআইএসএএম এর জন্য পুরো টেবিলটি লক করা একটি বড় কারণ SELECTযা আপনার ধীর জিজ্ঞাসার লগটিতে লকটাইম থাকবে qu

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.