दिलचस्प पोस्ट
एनजी-दोहराने वाला फिल्टर डुप्लिकेट परिणाम बनाने के लिए कैसे करें आउटलुक मेल संदेश को एक्सेल में VBA या मैक्रोज़ का उपयोग कैसे करें क्या अजगर जावा क्लास के लिए बराबर है। ForName ()? तालिका के ऊपर और नीचे क्षैतिज स्क्रॉलबार कैसे "java.io.IO.exeception: त्रुटि = 12 को हल करने के लिए, मेमोरी आवंटित नहीं कर सकता है" कॉलम रनटाइम # exec ()? क्यों एक onclick संपत्ति setAttribute के साथ स्थापित करता है IE में काम करने में विफल? ++ कुछ विभवणीय बनाम। कुछ वैरिएबल + + जावास्क्रिप्ट में क्या किसी को कभी भी काम करने के लिए एक दूरस्थ जेएमएक्स JConsole मिला है? स्ट्रिंग को इंटरफ़ेस में परिवर्तित नहीं किया जा सकता {} आईफोन: एनीमेशन के साथ टैब कैसे स्विच करें? HTTPWebrquest (मल्टीपार्ट / फॉर्म-डेटा) के साथ फाइल अपलोड करें साल, महीनों और दिनों में टी-एसक्यूएल में उम्र की गणना कैसे करें XMLHttpRequest https: // www लोड नहीं कर सकता। .com / एक समय में सभी गतिविधियों को समाप्त करें इनलाइन फ़ंक्शन का उपयोग कब करना है और इसका उपयोग कब नहीं करना है?

Sqlite LIMIT / OFFSET क्वेरी

मेरे पास Sqlite के साथ सरल सवाल है इस बीच अंतर क्या है:

Select * from Animals LIMIT 100 OFFSET 50 

तथा

 Select * from Animals LIMIT 100,50 

वेब के समाधान से एकत्रित समाधान "Sqlite LIMIT / OFFSET क्वेरी"

दो वाक्यविन्यास रूपों में थोड़ा भ्रमित होता है क्योंकि वे संख्याओं को उल्टा करते हैं:

 LIMIT <skip>, <count> 

के बराबर है:

 LIMIT <count> OFFSET <skip> 

यह MySQL और PostgreSQL से वाक्य रचना के साथ संगत है। MySQL दोनों वाक्यविन्यास रूपों का समर्थन करता है, और इसके डॉक्स का दावा है कि OFFSET के साथ दूसरा सिंटैक्स PostgreSQL के साथ संगतता प्रदान करने के लिए था। पोस्टग्रेएसक्यूएल डॉक्स से पता चलता है कि यह केवल दूसरी सिंटैक्स का समर्थन करता है, और SQLite के डॉक्स दिखाते हैं कि यह दोनों का समर्थन करता है, भ्रम से बचने के लिए दूसरी सिंटैक्स की सिफारिश करता है।

वैसे, पहले ORDER BY का उपयोग करने के बिना सीआरआइएम का उपयोग करते हुए हमेशा आपको आपके द्वारा अपेक्षित परिणाम नहीं दे सकते। व्यवहार में, SQLite कुछ क्रम में पंक्तियों को वापस लौटाएगा, संभवत: यह निर्धारित करती है कि वे फ़ाइल में कैसे भौतिक रूप से संग्रहीत हैं। लेकिन यह जरूरी नहीं है कि यह आपके इच्छित क्रम में है एक अनुमानित आदेश प्राप्त करने का एकमात्र तरीका स्पष्ट रूप से ORDER का उपयोग करना है।

उत्तरार्द्ध एक चेतावनी के साथ एक वैकल्पिक वाक्यविन्यास है:

यदि ऑफसेट खोजशब्द के बजाय एक अल्पविराम प्रयोग किया जाता है, तो ऑफ़सेट पहला नंबर होता है और सीमा दूसरी संख्या है। यह प्रतीत होता है कि विरोधाभास जानबूझकर है – यह लीगेसी एसक्यूएल डाटाबेस सिस्टम के साथ संगतता को अधिकतम करता है।

मैंने कुछ परीक्षण किए और प्रदर्शन में कोई अंतर नहीं है।

यह केवल अन्य एसक्यूएल भाषाओं के साथ संगतता के लिए है

दोनों संस्करणों का चलने का समय समान है।

मैंने 100,000 पंक्तियों के साथ तालिका 1 के साथ स्क्लिट डीबी बनाया। मैं अगले परीक्षा चलाऊंगा

 long timeLimitOffset = 0; long timeLimitComma = 0; for (int i = 0; i < 100000; i++) { //first version timeLimitOffset += SqlDuraction("Select * from table1 order by col1 LIMIT " + (i + 1) + " OFFSET " + (1001 - i) + ""); // second version timeLimitComma += SqlDuraction("Select * from table1 order by col1 LIMIT " + (1001 - i) + " , " + (i + 1) + ""); } 

टाइम्स एक दूसरे के 0.001 के लिए बदलती हैं