সারি স্তরের এবং পৃষ্ঠা স্তরের লকিং এবং ফলাফলের মধ্যে পার্থক্য


10

আমার রক্ষণাবেক্ষণ পরিকল্পনা চালানোর চেষ্টা করার সময়, আমি নিম্নলিখিত ত্রুটিটি পেয়েছি:

নিম্নলিখিত ত্রুটির সাথে ক্যোয়ারী "" কার্যকর করা ব্যর্থ হয়েছে: টেবিলের "" সূচক "" (পার্টিশন 1) "" পুনর্গঠন করা যায় না কারণ পৃষ্ঠা স্তর লকিং অক্ষম রয়েছে ""

আমাদের বর্তমানে এই সূচকটিতে সারি স্তরের লক সক্ষম রয়েছে। আমি পৃষ্ঠা স্তরের লকিং সক্ষম করতে পারি, তবে ফলাফলগুলি কী তা আমি নিশ্চিত।

আমার প্রশ্নটি হ'ল: দুটি লকিং স্কিমের মধ্যে পার্থক্য কী এবং তাদের বাস্তব-জগতে (উত্পাদনে) পরিণতিগুলি কী?

উত্তর:


14

নিম্নলিখিত ত্রুটির সাথে ক্যোয়ারী "" কার্যকর করা ব্যর্থ হয়েছে: টেবিলের "" সূচক "" (পার্টিশন 1) "" পুনর্গঠন করা যায় না কারণ পৃষ্ঠা স্তর লকিং অক্ষম রয়েছে ""

রক্ষণাবেক্ষণ পরিকল্পনা অবশ্যই একটি বিকল্প সূচি পুনঃস্থাপনের চেষ্টা করা উচিত, এটি একটি অনলাইন অপারেশন। টুকরো টুকরো টুকরো টুকরো করতে (পৃষ্ঠাগুলি যাতে ক্রমে নেই) পৃষ্ঠাগুলি অবশ্যই লক এবং সরানো উচিত, যা পৃষ্ঠার লকগুলি অক্ষম করা থাকলে তা সম্ভব নয়। পৃষ্ঠার লক ব্যতীত ডিফ্র্যাগমেন্টের একমাত্র উপায় হ'ল সম্পূর্ণ পার্টিশনটি লক করা, এটি কেবল অনলাইনেই পুনর্গঠনের পক্ষে সম্ভব নয়।

দুটি লকিং স্কিমের মধ্যে পার্থক্য কী এবং তাদের বাস্তব-জগৎ (উত্পাদনে) পরিণতিগুলি কী?

কোনও নির্দিষ্ট লক প্রকারটি অস্বীকার করার প্রভাব মূল্যায়নের জন্য আপনাকে রেকর্ড এবং পৃষ্ঠা কী তা বুঝতে হবে। আপনি এসকিউএল সার্ভার স্টোরেজ অভ্যন্তরীণ অপরিচিত হন, দিয়ে শুরু একটি রেকর্ড কারণ বিশ্লেষণ এবং একটি পৃষ্ঠা কারণ বিশ্লেষণ । খুব সহজভাবে লিখুন:

  • সারি = রেকর্ডস
  • সারিগুলি 8kb এর পৃষ্ঠাগুলিতে সংরক্ষণ করা হয়

আপনি যদি অনুমোদিত লক প্রকারগুলি পরিবর্তন করতে পারেন:

  • পৃষ্ঠা লকগুলি = সারি এবং সারণী লকগুলি অক্ষম করুন
  • সারি লকগুলি = পৃষ্ঠা এবং টেবিলের লকগুলি অক্ষম করুন
  • উভয় অক্ষম করুন = কেবল টেবিলের লকগুলি

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

একটি ঘন ঘন অ্যাক্সেস করা লুকিং টেবিল, যা প্রায়শই পরিবর্তিত হয় - পৃষ্ঠা এবং সারি স্তরের উভয় লক অক্ষম করে, সমস্ত পাঠক একটি ভাগ করা টেবিল লক নেবে। এটি টেবিলে স্বাভাবিক উদ্দেশ্য-ভাগের চেয়ে দ্রুত / সস্তা, তারপরে একটি পৃষ্ঠায় অভিপ্রায়-ভাগ করা এবং অবশেষে নির্দিষ্ট সারি বা সারিগুলিতে ভাগ করা লক হয়।

একটি নির্দিষ্ট অচলাবস্থার পরিস্থিতি রোধ করা - যদি আপনি একই পৃষ্ঠায় প্রায়শই থাকা লকগুলি সমবর্তী প্রক্রিয়াগুলির কারণে সংঘটিত অচলাবস্থার মুখোমুখি হন তবে সারি লকগুলি বর্জন না করে ফলাফল পরিবর্তে পৃষ্ঠা লক নেওয়া হবে। কেবলমাত্র একটি প্রক্রিয়া একবারে পৃষ্ঠাটি অ্যাক্সেস করতে পারে, অন্যটিকে অবশ্যই অপেক্ষা করতে হবে।

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

ডিফল্ট উভয় সক্ষম করার জন্য এবং এটি কোনও ভাল কারণ ছাড়াই পরিবর্তন করা উচিত নয়


9

সম্ভবত কিছুই. আমি নিশ্চিত এমএস আপনার বা আমার চেয়ে ভাল জানেন

আমি উচ্চ পরিমাণে ওলটিপি সিস্টেমে কাজ করেছি এবং সেটিংস পরিবর্তন করার প্রয়োজন অনুভব করি নি। একটি অচলাবস্থা আবার চেষ্টা করা উচিত কারণ সে যাইহোক ঘটবে

এসকিউএল সার্ভার স্টোরেজ ইঞ্জিন ব্লগ থেকে উদ্ধৃত করে , "এসকিউএল 2003 এ লক এসক্লেশন" এন যা যাইহোক পুরোপুরি পড়ার জন্য উপযুক্ত।

ডিফল্টরূপে, আমরা ROW এবং PAGE লক উভয়ই সক্ষম করে রেখেছি ... এসকিউএল সার্ভার বেশিরভাগ ক্ষেত্রে ROW লক গ্রানুলারিটি পছন্দ করে তবে উপযুক্ত যেখানে PAGE লক বেছে নিতে পারে। সুতরাং আপনি যে কেসটি উল্লেখ করেছেন তার জন্য ROW লক সম্ভবত। ডাটাবেস বা উদাহরণ স্তরে PAGE লকিং বন্ধ করার কোনও উপায় নেই। আপনি কি পেজ লকগুলির কারণে বাধা দেওয়ার মুখোমুখি?

আমি মনে করি আপনি যদি রাউলকগুলি কেবল জোর করে থাকেন তবে আপনি এমন সংস্থান ব্যবহার করবেন যা অন্য কোথাও আরও কার্যকরভাবে ব্যবহার করা যেতে পারে। যদি আপনার বোঝাটি যথেষ্ট পরিমাণে বেশি হয় তবে এটি কেন স্মৃতিশক্তি গ্রহণ করবে? ব্লগ নিবন্ধ এটি মধ্যে যায়

আমি সন্দেহ করি এর পিছনে কিছু কুসংস্কার আছে ঠিক যেমন:


+1 তবে: ওলটিপি সিস্টেমগুলিতে অচলাবস্থা রোধ করা যেতে পারে; আমার সিস্টেম কয়েক মাসের জন্য অচলাবস্থা মুক্ত থাকে, যদিও আমরা সপ্তাহে 2-3 বার স্থাপন করি dep
একে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.