2
ชนิดข้อมูลสำหรับเก็บอาร์เรย์ของแฟล็ก (อาเรย์บิตแมป / บิต)
ฉันต้องการจัดเก็บบิตอาร์เรย์สำหรับแต่ละระเบียนของตารางสนับสนุนการดำเนินการต่อไปนี้: ทดสอบว่าตั้งบิตไว้หรือไม่และตั้งค่าบิต (โดยใช้ SQL) การสืบค้นและการตั้งค่าโดยใช้ ADO 2.8 (ไม่ใช่ ADO.NET) การจัดทำดัชนี (เพื่อรับประโยชน์จากคุณสมบัติ "ครอบคลุมดัชนี") จำนวนสูงสุดของบิตจะถูกเก็บไว้ในอาร์เรย์นี้ได้รับการแก้ไขแต่อาจเกิน 32 นั่นคือคอลัมน์intแบบง่าย ๆไม่ได้ผลเสมอไป จากสิ่งที่ฉันเห็นมาจนถึงตอนนี้ตัวเลือกของฉันคือ: ใช้คอลัมน์intหลายรายการ ใช้bigint (ทำงานตราบเท่าที่จำนวนบิตคือ <= 64) ใช้เลขฐานสอง ? ตัวเลือกแรกจะใช้งานได้ แต่ต้องการการรีแฟคเตอร์เล็กน้อยในรหัสที่เข้าถึงข้อมูล ตัวเลือกที่สองเป็นการผ่อนปรนชั่วคราวเท่านั้นและจากการค้นหาของฉันจนถึงตอนนี้ฉันไม่แน่ใจว่า ADO ทำงานได้ดีกับbigintหรือไม่ ฉันไม่มีประสบการณ์กับไบนารีและฉันไม่ได้ตระหนักถึงตัวเลือกอื่น ๆ คุณต้องการเลือกชนิดข้อมูลแบบใดตามข้อกำหนด