अरे, मुझे आईडी के एक बड़े सेट के साथ अपने MySQL स्टेटमेंट में IN कंडीशन का उपयोग करना है।
उदाहरण
SELECT * FROM users WHERE id IN (1,2,3,4...100000)
क्या आइटम में आईएन स्टेटमेंट हो सकता है?
अरे, मुझे आईडी के एक बड़े सेट के साथ अपने MySQL स्टेटमेंट में IN कंडीशन का उपयोग करना है।
उदाहरण
SELECT * FROM users WHERE id IN (1,2,3,4...100000)
क्या आइटम में आईएन स्टेटमेंट हो सकता है?
जवाबों:
कोई नहीं है, IN फंक्शन के बारे में मैनुअल की जाँच करें :
IN
सूची में मानों की संख्या केवल max_allowed_packet मान द्वारा सीमित है ।
where id IN (14000 ids)
, यह तब तक काम करेगा जब तक कि अपडेट क्वेरी 64 एमबी (जो कि डिफ़ॉल्ट मान) से कम है, सही है?
IN
कीवर्ड में कोई बिल्ड-इन सीमाएँ नहीं हैं, हालाँकि ऐसी अन्य सीमाएँ भी हो सकती हैं, max_allowed_packet
जो अप्रत्यक्ष रूप से मानों की संख्या को सीमित कर सकती हैं। यदि आप यह मान 1024 (बाइट्स) पर सेट करते हैं, तो आप केवल सीमित संख्या में मानों का उपयोग कर सकते हैं।
जहां तक मैं mysql में जानता हूं, IN
बयान में वस्तुओं की कोई सीमा नहीं है ।
ऑर्कुल ऑल्टो में IN
कथन में 1000 वस्तुओं की सीमा है ।
लेकिन IN
जब तक उस स्तंभ को अनुक्रमित नहीं किया जाता, तब तक आपके क्वेरी प्रदर्शन में अधिक आइटम धीमा हो जाएगा।