私はbit string
最近データ型について学んでおり、私は非常に興味があります:
このドキュメントページの下部に次の文があります。
...プラス文字列の長さに応じて5または8バイトのオーバーヘッド
PHP、Java、C#、C ++などの他の言語では、Npgsql、ODBCなどのドライバーを介して、ビット文字列はどのように処理されますか。
質問1では、smallintまたはbigintを使用すると、ストレージの効率が大幅に向上し、整数はどこでもサポートされるため、パフォーマンスが向上する可能性があります。ほとんどのプログラミング言語は、整数のビット操作を簡単に処理します。その場合、ビット文字列データ型を導入するポイントは何ですか?大量のビットマスクが必要な場合のみですか?多分ビットフィールドのインデックス?PostgreSQLでビットフィールドのインデックス付けがどのように行われるかについて、もっと興味があります。
#2については、私は混乱しています。たとえば、平日ビットマスクをbit(7)フィールドに格納すると、1日1ビットで、最下位ビットが月曜日を表します。次に、PHPとC ++で値を照会します。私は何を得ますか?ドキュメントには、ビット文字列があると書かれていますが、ビット文字列は整数のように直接使用できるものではありません。この場合、ビットフィールドを放棄する必要がありますか?
誰かがビットまたはビット可変を使用する理由とタイミングを詳しく説明できますか?