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

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

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

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

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


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