শর্তের সীমাতে মাইএসকিউএল


87

আরে, আমার মাইএসকিউএল স্টেটমেন্টে আইডিগুলির একটি বড় সেট সহ আমাকে শর্তটি ব্যবহার করতে হবে।

উদাহরণ

SELECT * FROM users WHERE id IN (1,2,3,4...100000)

আইএন-এর বিবৃতিতে আইটেমগুলি থাকতে পারে এমন কি কোনও সীমা আছে?


উত্তর:


107

নেই, IN ফাংশন সম্পর্কে ম্যানুয়ালটি পরীক্ষা করুন :

INতালিকার মানগুলির সংখ্যা কেবলমাত্র সর্বাধিক_নয়ে_প্যাকেট মান দ্বারা সীমাবদ্ধ ।


সুতরাং যদি আমার কাছে উদাহরণস্বরূপ একটি আপডেট where id IN (14000 ids)থাকে তবে আপডেট ক্যোয়ারী 64৪ এমবি (যা পূর্বনির্ধারিত মান) এর চেয়ে কম হয় ততক্ষণ এটি কাজ করবে?
— ওলেগ আবরাজাইভ

4
@ ওলেগআব্রাজাইভ মূলশব্দটির INকোনও বিল্ট -ইন সীমা নেই, তবে অন্যান্য সীমাও থাকতে পারে max_allowed_packetযা অপ্রত্যক্ষ মানের সংখ্যাকে সীমাবদ্ধ করে। আপনি যদি এই মানটি 1024 (বাইট) এ সেট করেন তবে আপনি কার্যকরভাবে কেবলমাত্র সীমিত সংখ্যক মান ব্যবহার করতে পারেন।
— প্রোগ্রামম্যান

21

যতদূর আমি মাইএসকিএলে জানি, INবিবৃতিতে আইটেমগুলির কোনও সীমা নেই ।

ওরাকল অ্যালফিতে, INবিবৃতিতে 1000 আইটেমের সীমা রয়েছে ।

তবে এতে আরও আইটেম রয়েছে IN, যদি না performance কলামটি সূচিযুক্ত হয় তবে আপনার ক্যোয়ারী পারফরম্যান্সটি ধীর হয়ে যাবে।


4
নির্ভর করে, যদি IN সন্ধান প্রাথমিক কী হয়, দ্রুত কারণ হ'ল সূচি থেকে ফিরে আসে
— আজ্রিয়াল

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