আপনি করতে পারেন না সূচক SQL সার্ভার 2000 সালে একটি বিট ক্ষেত্র, যেমন সময়ে বই অনলাইন নির্দেশিত হয়েছে:
বিট
পূর্ণসংখ্যার ডেটা টাইপ 1, 0, বা NULL।
মন্তব্য
বিট প্রকারের কলামগুলিতে সূচি থাকতে পারে না।
হ্যাঁ, কয়েক লক্ষের মধ্যে যদি আপনার হাতে কয়েক মুঠো সারি থাকে তবে একটি সূচক সাহায্য করবে। তবে আপনি যদি এই ক্ষেত্রে এটি করতে চান তবে আপনার কলামটি একটি করা দরকার tinyint
।
দ্রষ্টব্য : এন্টারপ্রাইজ ম্যানেজার আপনাকে কিছুটা কলামে একটি সূচি তৈরি করতে দেবে না। আপনি যদি চান তবে আপনি কিছুটা কলামে ম্যানুয়ালি একটি সূচি তৈরি করতে পারেন:
CREATE INDEX IX_Users_IsActiveUsername ON Users
(
IsActive,
Username
)
তবে এসকিউএল সার্ভার 2000 আসলে এই জাতীয় সূচী ব্যবহার করবে না - এমন কোয়েরি চালাচ্ছে যেখানে সূচকটি নিখুঁত প্রার্থী হবে, যেমন:
SELECT TOP 1 Username
FROM Users
WHERE IsActive = 0
পরিবর্তে এসকিউএল সার্ভার 2000 একটি টেবিল স্ক্যান করবে, সূচি এমনকি অস্তিত্ব নেই এমন অভিনয় করে। আপনি যদি একটি tinyint SQL সার্ভার 2000 কলাম পরিবর্তন করেন তাহলে হবে না একটি সূচক চাইতে। এছাড়াও, নিম্নলিখিত অ-আচ্ছাদিত ক্যোয়ারী:
SELECT TOP 1 *
FROM Users
WHERE IsActive = 0
এটি একটি সূচক সন্ধান সম্পাদন করবে, তারপরে বুকমার্ক অনুসন্ধান করবে।
এসকিউএল সার্ভার 2005 বিট কলামে সূচিগুলির জন্য সীমিত সমর্থন করে support উদাহরণ স্বরূপ:
SELECT TOP 1 Username
FROM Users
WHERE IsActive = 0
প্রচ্ছদ সূচক মাধ্যমে একটি সূচক সন্ধান করতে হবে। তবে আচ্ছাদনহীন কেস:
SELECT TOP 1 *
FROM Users
WHERE IsActive = 0
বুকমার্ক অনুসন্ধানের পরে কোনও সূচক অনুসন্ধানের কারণ হবে না, এটি বুকমার্ক অনুসন্ধানের অনুসারে সূচিপত্র অনুসন্ধানের চেয়ে টেবিল স্ক্যান (বা ক্লাস্টারড ইনডেক্স স্ক্যান) সম্পাদন করবে।
পরীক্ষা এবং সরাসরি পর্যবেক্ষণ দ্বারা যাচাই করা হয়েছে।