আমি এসকিউএল সার্ভারে খুব নতুন, এবং নীচের, খুব সাধারণ select
বিবৃতিটি কোনও লক নেবে কিনা তা বুঝতে চাই ।
Select * from Student;
দয়া করে কেসটি বিবেচনা করুন যেখানে কোনও begin tran
ব্লকের মধ্যে বক্তব্য চলমান থাকবে না ।
আমি এসকিউএল সার্ভারে খুব নতুন, এবং নীচের, খুব সাধারণ select
বিবৃতিটি কোনও লক নেবে কিনা তা বুঝতে চাই ।
Select * from Student;
দয়া করে কেসটি বিবেচনা করুন যেখানে কোনও begin tran
ব্লকের মধ্যে বক্তব্য চলমান থাকবে না ।
উত্তর:
হ্যাঁ এটি ডিফল্টরূপে যে সারিগুলিতে পড়ে এটি সারিগুলিতে একটি ভাগ করা লক নেয় (এটি ক্লাস্টারড ইনডেক্সের সমস্ত পৃষ্ঠাগুলিতে এটি পড়বে যা একটি ইন্টেন্ট শেয়ার্ড লক নেয়) এটি নোংরা পাঠ্য প্রতিরোধের জন্য করা হয়। তবে এটিকে বাইপাস করার উপায় রয়েছে (এসকিউএল সার্ভারের নোলক ইঙ্গিত রয়েছে)। যদি বিবৃতিটি কোনও প্রথম শুরু না হয় ট্র্যাকের মধ্যে নির্বাচন করা থাকে সেলে স্টেটমেন্টটি চালানোর পরে লকটি প্রকাশ করা হয়।
এখানে আরও তথ্য পাওয়া যাবে:
http://msdn.microsoft.com/en-us/library/ms184286(v=sql.105).aspx http://www.sqlteam.com/article/intr پيداوار-to-locking-in-sql- server
নীচের, খুব সাধারণ সিলেক্ট স্টেটমেন্টটি কোনও লক নেবে কিনা তা আমি বুঝতে চাই
এটি একটি সাধারণ ভ্রান্ত ধারণা যে SELECT
ডিফল্ট READ COMMITTED
লেনদেনের বিচ্ছিন্নতা স্তরে চলমান একটি কোয়েরি সবসময় নোংরা পাঠ্য প্রতিরোধের জন্য ভাগ করা লকগুলি গ্রহণ করবে ।
এসকিউএল সার্ভার ভাগ করে নেওয়া সারি-স্তরের লকগুলি এড়াতে পারে যখন এগুলি ব্যতীত অনুমোদিত ডেটা পড়ার কোনও আশঙ্কা নেই (যদিও উচ্চ-স্তরের ইন্টেন্ট-শেয়ার্ড (আইএস) লকগুলি এখনও নেওয়া হয়)।
ভাগ সারি কেশ এমনকি যদি হয় গ্রহণ (সম্ভবত কারণ অন্য সমবর্তী লেনদেন পৃষ্ঠা পরিবর্তিত হয়েছে সারিতে হয়) তারা অনেক আগে মুক্তি হতে পারে SELECT
বিবৃতি সমাপ্ত হবে।
বেশিরভাগ ক্ষেত্রে সার্ভারের পরবর্তী সারিতে প্রক্রিয়া করার ঠিক আগে সারিটি 'আনলক করা' হয়। এমন পরিস্থিতিতে রয়েছে যেখানে ডিফল্ট বিচ্ছিন্ন স্তরে ভাগ করা লকগুলি বর্তমান বিবৃতিটির শেষে রাখা হয়, তবে লেনদেনের শেষের দিকে নয় ।
NOLOCK
সারণীর ইঙ্গিত সহ বর্তমান বিচ্ছিন্নতা স্তরটি ওভাররাইড করা প্রায়শই একটি খারাপ ধারণা ।
লক করা একটি বাস্তবায়ন বিশদ। এসকিউএল সার্ভার এটি প্রয়োজনীয় বিচ্ছিন্নতা স্তর দ্বারা সরবরাহিত শব্দার্থ গ্যারান্টি পূরণ করে তা নিশ্চিত করার জন্য যখন প্রয়োজন হয় তখন লকগুলি নিয়ে যায় । অবশ্যই এমন সময় রয়েছে যেখানে তালা কেন নেওয়া হয় সে সম্পর্কে কিছুটা জানার পক্ষে দরকারী তবে সেগুলি পূর্বাভাস দেওয়ার চেষ্টা করা প্রায়শই পাল্টা-ফলদায়ক।
এসকিউএল সার্ভার বিচ্ছিন্নতা স্তরগুলির বিভিন্ন ধরণের সরবরাহ করে; আপনার ডেটা গ্রাহকদের প্রয়োজনীয় গ্যারান্টি ও আচরণ প্রদান করে এমন একটি চয়ন করুন।