কোনও ORDER BY
ধারা ছাড়াই অর্ডার করা ফলাফল সেটের উপস্থিতি প্রায়শই একটি স্ক্যান থেকে ফলাফলকে সূচক ক্রমে পুনরুদ্ধার করে। একটি সূচী-অর্ডার স্ক্যানটি সাধারণত ডিফল্ট READ COMMITTED
বিচ্ছিন্নতা স্তরের অধীনে কেন বেছে নেওয়া হয় তা হ'ল এটি একাধিক বার একই সারির মুখোমুখি হওয়া বা পুরোপুরি কিছু সারি বাদ দেওয়ার মতো অযাচিত সম্মতিজনিত অসঙ্গতিগুলির সম্ভাবনা হ্রাস করে। বিচ্ছিন্নতা স্তরগুলি সম্পর্কে এই সিরিজের নিবন্ধগুলি সহ এটি বেশ কয়েকটি স্থানে বিশদ ।
একটি সঙ্গে NOLOCK
টেবিল ইঙ্গিতটি, এই আচরণ কবে নাগাদ করা হয়, এবং টেবিল এক্সেস আরো সহনশীল অধীনে সঞ্চালিত হয় READ UNCOMMITTED
বিচ্ছিন্নতা স্তর, যা হতে পারে বরাদ্দ অনুক্রমে স্ক্যান ডেটা পরিবর্তে সূচক অর্ডার। সেই লিঙ্কটিতে বর্ণিত হিসাবে, বরাদ্দ-আদেশ বা সূচক-আদেশ স্ক্যানটি ব্যবহার করবেন কিনা সে সম্পর্কে সিদ্ধান্তটি স্টোরেজ ইঞ্জিনের উপরে ছেড়ে যায়। এই পছন্দটি ক্যোয়ারী পরিকল্পনার কোনও পরিবর্তন ছাড়াই মৃত্যুদণ্ডের মধ্যে পরিবর্তন হতে পারে ।
এটি খুব বিমূর্ত মনে হতে পারে তবে অ্যাডভেঞ্চার ওয়ার্কস ২০১২ ডেটাবেসের বিরুদ্ধে অননুমোদিত ফাংশনগুলি ব্যবহার করে কিছু প্রশ্নের সাথে আরও সহজে প্রদর্শিত হতে পারে ।
USE AdventureWorks2012;
GO
-- Appears to be ordered by BusinessEntityID
-- File:Page:Slot goes up and down several times
-- Show physical locations with sys.fn_PhysLocFormatter (undocumented)
SELECT
P.BusinessEntityID,
[(File:Page:Slot)] =
sys.fn_PhysLocFormatter(%%physloc%%)
FROM Person.Person AS P;
-- Same query with TABLOCK or NOLOCK
-- Allocation-order (IAM) scan
-- Now appears to be ordered by File:Page:Slot instead of BusinessEntityID
SELECT P.BusinessEntityID,
[(File:Page:Slot)] =
sys.fn_PhysLocFormatter(%%physloc%%)
FROM Person.Person AS P WITH (NOLOCK);
ক্যোয়ারী থেকে সামান্য সংশোধন সহ ধার করা পল হোয়াইট ।
শেষ অবধি, পরিষ্কার করার জন্য, এই উত্তরটি অর্ডার করা ফলাফল সেটটির উপস্থিতি সম্পর্কে । নেই কোন নিশ্চয়তা উপস্থাপনা অর্ডার একটি টপ লেভেল ছাড়া ORDER BY
।
একটি বরাদ্দ-ক্রম স্ক্যান বিভিন্ন পরিস্থিতিতে বিভিন্ন ক্ষেত্রে ঘটতে পারে যেমন টেবিল-স্তরের লক অর্জিত হয় বা ডাটাবেস কেবল পঠন মোডে থাকে। সমান্তরালতা তথ্যটি যে অর্থে ফেরত পাঠায় সেটিকেও প্রভাবিত করতে পারে point মূল বক্তব্যটি হ'ল ORDER BY
অর্ডার ডেটা ফেরত দেওয়া ডিজাইন অনুসারে সময়ের সাথে সাথে তারতম্য হতে পারে।