bit string
Ultimamente tenho aprendido sobre o tipo de dados e estou bastante curioso sobre:
Na parte inferior desta página de documento, há a frase:
... mais sobrecarga de 5 ou 8 bytes, dependendo do comprimento da string
Como as seqüências de bits são tratadas em outras linguagens como PHP, Java, C #, C ++ etc., por meio de drivers como Npgsql, ODBC etc.
Para a pergunta 1, o uso de smallint ou bigint será muito mais eficiente em armazenamento e talvez ofereça um ganho de desempenho, já que os números inteiros são suportados em todos os lugares. A maioria das linguagens de programação manipula operações de bits em números inteiros com facilidade. Se for esse o caso, qual é o sentido de introduzir o tipo de dados de cadeia de bits? É apenas para casos que precisam de uma grande quantidade de máscaras de bits? Indexação de campo de bits, talvez? Estou mais curioso sobre como a indexação de campo de bits é feita no PostgreSQL.
No segundo, estou confuso, mais do que curioso. Por exemplo, e se eu armazenar máscaras de bit do dia da semana em um campo de bit (7), um bit por dia, com o bit mais baixo representando segunda-feira. Então eu procuro o valor em PHP e C ++. O que vou receber? A documentação diz que terei uma sequência de bits, no entanto, uma sequência de bits não é algo que eu possa usar diretamente - como acontece com números inteiros. Então, neste caso, devo desistir do campo de bits?
Alguém pode explicar por que e quando devo usar variações de bits?