ฉันได้เรียนรู้เกี่ยวกับbit string
ประเภทข้อมูลเมื่อเร็ว ๆ นี้และฉันค่อนข้างอยากรู้อยากเห็น:
ที่ด้านล่างของหน้าเอกสารนี้มีประโยค:
... บวก 5 หรือ 8 ไบต์ค่าใช้จ่ายขึ้นอยู่กับความยาวของสตริง
มีการจัดการสตริงบิตในภาษาอื่นเช่น PHP, Java, C #, C ++ และอื่น ๆ อย่างไรผ่านไดรเวอร์เช่น Npgsql, ODBC เป็นต้น
สำหรับคำถามที่ 1 การใช้ smallint หรือ bigint จะช่วยเพิ่มประสิทธิภาพในการจัดเก็บได้มากขึ้นและอาจช่วยเพิ่มประสิทธิภาพในการทำงานเนื่องจากจำนวนเต็มได้รับการสนับสนุนทุกที่ ภาษาการเขียนโปรแกรมส่วนใหญ่จัดการการทำงานของบิตกับจำนวนเต็มอย่างง่ายดาย หากเป็นเช่นนั้นจุดประสงค์ของการแนะนำชนิดข้อมูลบิตสตริงคืออะไร เป็นเพียงกรณีที่ต้องการรูปแบบบิตจำนวนมากหรือไม่ การทำดัชนีฟิลด์บิตอาจ? ฉันอยากรู้มากขึ้นเกี่ยวกับวิธีการสร้างดัชนีฟิลด์ใน PostgreSQL
สำหรับ # 2 ฉันสับสนมากกว่าอยากรู้อยากเห็น ตัวอย่างเช่นถ้าฉันเก็บมาสก์บิตวันต่อสัปดาห์ไว้ในฟิลด์บิต (7) หนึ่งบิตต่อวันโดยมีบิตต่ำสุดแทนวันจันทร์ จากนั้นฉันจะค้นหาค่าใน PHP และ C ++ ฉันจะได้อะไร เอกสารประกอบบอกว่าฉันจะมีสตริงบิต แต่สตริงบิตไม่ใช่สิ่งที่ฉันสามารถใช้ได้โดยตรงเช่นเดียวกับจำนวนเต็ม จากนั้นในกรณีนี้ฉันควรจะยอมแพ้ในสนามบิต?
ทุกคนสามารถอธิบายได้ว่าทำไมและเมื่อใดที่ฉันควรใช้บิตหรือบิตที่แตกต่างกัน?