इस बात की कोई गारंटी नहीं है कि पंक्तियों को किसी विशेष क्रम में ORDER BY
. के बिना लौटाया जाएगा क्वेरी में क्लॉज।
एक साधारण क्वेरी पर विचार करें जो किसी तालिका में सभी पंक्तियों के सभी कॉलम लौटाती है। उदाहरण के लिए:
SELECT * FROM mytable ;
उस क्वेरी के लिए, यह संभावना है कि MySQL तालिका की शुरुआत से एक पूर्ण तालिका स्कैन करेगा। इसलिए यह संभावना है कि पंक्तियों को भौतिक भंडारण में पाए जाने के क्रम में वापस कर दिया जाएगा।
यह मोटे तौर पर उस क्रम के अनुरूप हो सकता है जिसमें पंक्तियों को सम्मिलित किया गया था, यदि कोई हटा नहीं है, कोई अद्यतन नहीं है और कोई पुनर्गठन नहीं है, जहां एक सम्मिलित पंक्ति के लिए स्थान बाद में पुनः प्राप्त किया गया था, और एक नई सम्मिलित पंक्ति को संग्रहीत करने के लिए पुन:उपयोग किया गया था।
लेकिन इस व्यवहार की गारंटी नहीं है।
पंक्तियों को उस क्रम में वापस करने के लिए जिसमें वे सम्मिलित किए गए थे, क्वेरी को अनुक्रम निर्दिष्ट करना होगा कि पंक्तियों को वापस किया जाना है, जिसमें ORDER BY
शामिल है खंड।
पंक्तियों को "सम्मिलन क्रम" में वापस करने के लिए, इसका मतलब है कि क्वेरी को उस जानकारी को उपलब्ध कराने में सक्षम होना चाहिए, या उसे प्राप्त करने में सक्षम होना चाहिए। एकल तालिका के विरुद्ध एक साधारण क्वेरी के लिए, इसका अर्थ है कि जानकारी को पंक्ति में संग्रहीत करने की आवश्यकता है।