যোগদানের সময় এসকিউএল সার্ভারের ফলাফল কীভাবে অর্ডার হয়?


10

এসকিউএল সার্ভার কোয়েরি এক্সিকিউশনের ফলাফল সেটে রেকর্ডগুলির ক্রমটি কীভাবে আবিষ্কার করবে?

আমি এটির মাথা বা লেজ তৈরি করার চেষ্টা করছি তবে নিজেকে আমার মাথা আঁচড়াতে দেখছি। আমি ক্ষেত্রগুলি পরিবর্তন করার সাথে সাথে আমি ক্রমটি নির্বাচন করছি যাতে পরিবর্তন হয়। আমি যখন একটি দিয়ে নীচের এসকিউএল কার্যকর করি তখন আমি SELECT *একই রেকর্ড পাই তবে অনেকগুলি পৃথক ক্রমে।

 SELECT TOP (900)
    AD.ATTACHMENTID,
    AD.NAME,
    AD.ISINLINE,
    AD.INSERTEDDATETIME,
    ATMT.ATTACHMENTBLOB,
    U.UFID
  FROM ATTACHMENTDETAIL AD WITH (NOLOCK)
  INNER JOIN MESSAGEATTACHMENT MA ON MA.ATTACHMENTID = AD.ATTACHMENTID
  INNER JOIN ATTACHMENT ATMT ON ATMT.ATTACHMENTID = AD.ATTACHMENTID
  INNER JOIN MESSAGE MSG ON MSG.ID = MA.MESSAGEID
  INNER JOIN MESSAGEDETAIL MD ON MD.MESSAGEID = MA.MESSAGEID
  INNER JOIN [USER] U ON U.ID = MD.USERID
  LEFT OUTER JOIN XmlExtractionMapping XM ON MA.MESSAGEID = XM.MessageId
    WHERE AD.FILEBOXTOKEN IS NULL 
    AND (XM.XMLEXTRACTIONDATE IS NOT NULL OR 
         (MSG.MESSAGESOURCEID = 1 AND MD.FolderId <> -4))
    AND AD.ISINLINE = 'FALSE'

6
কয়েকটি মন্তব্য / প্রশ্ন: (1) কেন শুধুমাত্র একটি টেবিলে ম্যাজিক পিক্সি-ডাস্ট টার্বো বোতামটি নলক ব্যবহার করবেন? আপনি কি ভুডুর পরিবর্তে আরসিএসআই ব্যবহারের কথা বিবেচনা করেছেন? (২) আপনি সঠিক স্কিমা উপসর্গটি কেন ব্যবহার করছেন না? প্রাক্তনদের জন্য, ওয়েব অনুসন্ধান করুন NOLOCK- আপনি কেন এটি ব্যবহার করবেন না তা সব ধরণের কারণ দেখতে পাবেন। পরবর্তীকালের জন্য, দেখুন স্ক্লালব্লগ.ব্লাগস
অ্যারন বার্ট্র্যান্ড

RCSI? দয়া করে ব্যাখ্যা করুন ...
kacalapy

2
আরসিএসআই = কমিটেড স্ন্যাপশট বিচ্ছিন্নকরণ পড়ুন। স্ট্যাকওভারফ্লো.com
অ্যারন বারট্রান্ড

কোনও ORDER BYধারা ছাড়াই এসকিউএল সার্ভার (এবং অন্য কোনও আরডিবিএমএস) যা খুশি তা করে
নিক চ্যামাস

উত্তর:


17

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

আপনি যদি অনুমানযোগ্য আদেশ চান তবে আপনি কোয়েরিতে কেন ব্যবহার করবেন না ORDER BY? লিখিত হিসাবে, এসকিউএল উল্লেখ করে যে কোনও 900 ক্রম কোনও ক্রমে গ্রহণযোগ্য।

যদিও অনেক ক্ষেত্রে আপনি একই ক্যোয়ারির জন্য বার বার একই ক্রমটি দেখতে পান, আপনি না বলে কোনও গ্যারান্টি নেই ORDER BY <something>

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