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

start [/forum/topic.php?fid=40&msg=32545717&tid=1578498]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
241ms |
get topic data: |
14ms |
get forum data: |
4ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 209ms |
| total: | 562ms |

| 0 / 0 |
