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


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.