আমি মনে করি এটি উল্লেখ করা উপযুক্ত, যদিও মন্তব্যগুলিতে এটি স্পর্শ করা হয়েছিল যে এই পরিস্থিতিতে:
SELECT 1 FROM my_table WHERE *indexed_condition* LIMIT 1
এর থেকে উচ্চতর:
SELECT * FROM my_table WHERE *indexed_condition* LIMIT 1
এটি কারণ প্রথম ক্যোয়ারী সূচক দ্বারা সন্তুষ্ট হতে পারে, অন্যদিকে সারি সন্ধান করা প্রয়োজন (সম্ভবত সমস্ত টেবিলের কলামগুলি ব্যবহৃত সূচকে না থাকলে)।
LIMIT
ধারাটি যুক্ত করা ইঞ্জিনটিকে কোনও সারি সন্ধান করার পরে থামতে দেয়।
প্রথম ক্যোয়ারীর সাথে তুলনীয় হওয়া উচিত:
SELECT EXISTS(SELECT * FROM my_table WHERE *indexed_condition*)
যা ইঞ্জিনে একই সংকেত প্রেরণ করে (1 / * এখানে কোনও পার্থক্য নেই), তবে আমি ব্যবহার করার সময় অভ্যাসটিকে আরও শক্তিশালী করতে 1 লিখি EXISTS
:
SELECT EXISTS(SELECT 1 FROM my_table WHERE *indexed_condition*)
EXISTS
কোনও সারি মেলে না এমন সময় আপনার যদি সুস্পষ্ট ফেরতের প্রয়োজন হয় তবে মোড়কটি যুক্ত করা অর্থপূর্ণ হতে পারে ।
...EXISTS( SELECT 1/0 FROM someothertable)
। এসকিউএল সার্ভার এবং ওরাকল - এর জন্য *, 1 বা NUL ব্যবহার করা কোনও তাত্পর্যপূর্ণ হয় না কারণ WHERE মানদণ্ডের মিলের 1+ এর উপর ভিত্তি করে কেবলমাত্র বুলিয়ানের পরীক্ষা করে।