প্রতিটি ক্যোয়ারিতে (নলক) ইঙ্গিতটি ব্যবহার না করার জন্য ন্যায়সঙ্গত করুন


23

আপনি কি কখনও কোয়েরি ইঙ্গিত ব্যবহার না করে ন্যায্যতা প্রমাণ করতে হয়েছে?

আমি WITH (NOLOCK)একটি একক ক্যোয়ারিতে দেখছি যা খুব ব্যস্ত সার্ভারকে হিট করে। এটি এমন বিষয় যেখানে বিকাশকারীরা মনে করেন এটি কেবলমাত্র ডিফল্টরূপে হওয়া উচিত কারণ তারা হাজার হাজার বার তাদের কোডে এটি দেখে ঘৃণা করে।

আমি এটি ব্যাখ্যা করার চেষ্টা করেছি যে এটি নোংরা পাঠকে মঞ্জুরি দিচ্ছে এবং তারা শেষ পর্যন্ত খারাপ ডেটা দিয়ে শেষ করবে, তবে তারা বিশ্বাস করে যে পারফরম্যান্স ট্রেডঅফ এর পক্ষে যথেষ্ট উপযুক্ত। (তাদের ডাটাবেসটি একটি গোলযোগ;

NOLOCKইঙ্গিতটির অপব্যবহারের বিরুদ্ধে মামলা কীভাবে উপস্থাপন করা যায় তার একটি স্পষ্ট উদাহরণ যদি আপনার কাছে থাকে তবে তা প্রশংসিত হবে।

উত্তর:


17

আপনি আপনার যুদ্ধ এবং যুদ্ধ পছন্দ করে নিন সহজে জয়লাভ করা যায় না। আমাদের একটি সিস্টেম রয়েছে যেখানে প্রতিটি ডিএমএলকে রাউলক ইঙ্গিতটির সাথে ইঙ্গিত দেওয়া হয় (এক সারি বা কয়েক হাজার সারি পরিবর্তন না করে)। আমি বেশ কয়েকটি উদাহরণ দেখিয়েছি কেন এটি সত্যই পারফরম্যান্সে ব্যথা দেয় তবে সিস্টেম ইতিমধ্যে কাজ করছে বলে পরিবর্তনের প্রতিরোধ রয়েছে। মনে রাখবেন যে আমি তাদের এগিয়ে যাওয়ার জন্য এটি ব্যবহার না করার জন্য যথেষ্ট পরিমাণে নিশ্চিত করেছিলাম।

নলোক্কে এটির জায়গা রয়েছে তবে আমি এটি ব্যবহারের ঝামেলা প্রদর্শন করে কিছু ভাল রেফারেন্স সুপারিশ করতে পারি:


11

এটি আগে এসও নিয়ে আলোচনা করা হয়েছিল:

খুব ব্যস্ততার সংজ্ঞা দিন। আমাদের উচ্চ ভলিউম রয়েছে (প্রতি সেকেন্ডে 50k নতুন সারি, বৃহত্তর সমষ্টিগুলি ইত্যাদি) এবং খুব ডজি ডেটা পাওয়ার প্রয়োজনও দেখেন না


9

বিচ্ছিন্নতা স্তরগুলি বোঝার গুরুত্ব আপনার সহকর্মীদের কাছে আপনাকে ব্যাখ্যা করতে হবে। তাদের উদাহরণ দেখান। সবচেয়ে ছোট এবং সহজ ব্যাখ্যাটি আমি ছোট কেন্দ্রের বিচ্ছিন্নতা স্তরের পোস্টারে পেয়েছি । তাদের কেন জিজ্ঞাসা করুন যে তাদের কেন নোলক ইঙ্গিত দরকার। কেন তারা "সেট লেনদেনের বিচ্ছিন্নতা স্তর ..." বিবৃতি ব্যবহার করবেন না? তারা ঠিক কী অবস্থা ঠিক করতে চান তা জিজ্ঞাসা করুন, তাদের কাছে ডেডলক রয়েছে, অবরুদ্ধ করা হয়েছে ... ইত্যাদি। যদি তারা কেবল লকগুলি ধরে রাখতে না চান তবে তারা স্ন্যাপশট বিচ্ছিন্নতার স্তরটিকে বিবেচনা করতে পারে।

কেবল তাদের জিজ্ঞাসা করেই আপনি একটি পরিষ্কার ছবি পেতে পারেন।

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