php — битовая строка postgresql или нет?

Я возился с типом данных битовой строки в последнее время. И довольно любопытно о:

  1. … плюс 5 или 8 байтов в зависимости от длины строки
    @ дно эта страница документа

  2. как это обрабатывается на других языках (PHP, Java, C #, C ++ и т. д.) через драйверы (Npgsql, ODBC и т. д.)

Для # 1 кажется, что использование целого числа (smallint / bigint) будет очень эффективным с точки зрения хранения или, возможно, даже выиграет в производительности, поскольку целые числа поддерживаются везде. Выполнение битовых операций с целыми числами редко имеет какую-либо проблему в языках программирования. Тогда какой смысл вводить тип данных? Только для случаев, когда требуется большое количество битовых масок? Индексация битового поля может быть? Мне более интересно, как выполняется индексация битовых полей в Pg.

Для # 2, я запутался, больше, чем просто любопытство. Скажем, простой случай, что если я сохраню битовые маски дня недели в поле бит (7), один бит на день, с самым низким значением, как понедельник. Затем я запрашиваю значение в PHP и C ++. Что я получу? В документе говорится, что у меня будет немного строки. Но битовая строка — это не то, что я могу использовать напрямую — как с целыми числами. Тогда в этом случае я должен отказаться от битового поля?

Может кто-нибудь уточнить, почему / когда следует использовать бит или бит?

[РЕДАКТИРОВАТЬ]—————-
Я нашел соответствующий пост здесь

Тем не менее, моя голова еще не очищена. Как сказано в вышеприведенном посте (& его комментарии), я четко понимаю, что такое бит (n) и бит варьируется. Но мне интересно, каков их статус на языках программирования. Скажем, насколько я могу найти, эти два типа данных представлены как строки в PHP. Что меньше всего, я бы ожидал.

Кто-нибудь может дать сценарий, что такой столбец лучше всего использовать?

1

Решение

Посмотри на Блог Игоря. Эта статья рассказывает о том, как неуклюжие механизмы двоичных строк в PHP. Я также ищу хороший способ представления типа данных bitvar postgres в PHP для Pomm, но у меня нет абсолютного ответа.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]