powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Кто как работает с битовыми масками ?
4 сообщений из 4, страница 1 из 1
Кто как работает с битовыми масками ?
    #32545717
EvgErmak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для каждой записи в таблице мне необходимо хранить ~10 битовых признаков
записи, которые будут активно использоваться в условиях WHERE, как лучше
поступить: насоздавать кучу полей или держать все в одном поле.

При втором условии можно нарисовать UDF'ки, типа SetBit, ClearBit, IsBit, но
т.к. в IB/FB нет констант, то обращение к этим функциям будет выглядеть
так SetBit(Variable, 'ИМЯ_БИТОВОЙ_МАСКИ'). Может кто-нибудь подскажет
альтернативные решения?
...
Рейтинг: 0 / 0
Кто как работает с битовыми масками ?
    #32545948
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, наверно, не кучу, а ~10
Что смущает в применении UDF ? Неиспользование возможностей ускорения отбора при наличии индексов ?
Вобщем, решение зависит от того, что за битовые дела и как с ними будешь работать, что они значат...
...
Рейтинг: 0 / 0
Кто как работает с битовыми масками ?
    #32547051
vitvsh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я бы наверное полей насоздавал типа SMALLINT (при условии что кол-во признаков менятся не будет). хоть решение и некрасивое, зато работать побыстрее будет

хотя учитывать многое надо: размер таблицы, размер записи, как часто выбираться будут...
...
Рейтинг: 0 / 0
Кто как работает с битовыми масками ?
    #32551948
Valery Shiskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно попробовать одно поле varchar(20)
Например "1;2;3;0;5;0;7;8;9"

0 - считать off , а другое On.

Тогда в WHERE использовать LIKE.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Кто как работает с битовыми масками ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]