powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как лучше сделать?
3 сообщений из 3, страница 1 из 1
Как лучше сделать?
    #32016092
AQUA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо создать правила для пользователей для одного приложения в виде: 010100101
Как лучше сделать?
Создать таблицу с кучей полей, типа: PR1, PR2, PR3..... типа bit
Или использовать какой нибудь другой тип данных, например, BINARY...(- если им пользоваться то как? если надо будет изменять правила).
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32016100
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно, binary. А с отдельными битами работать с помощью побитовых операций.
...
Рейтинг: 0 / 0
Как лучше сделать?
    #32016114
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Garya Привилегированный пользователь
Участник
IMHO, ответ не до такой степени однозначный. Куча полей типа bit упаковывается побайтно и с точки зрения используемого места получается то же самое, что использование Binary. По Bit нельзя построить индекс (не только нельзя, но и смысла нет). По Binary можно, но смысла также нет, поскольку при использовании в выражениях WHERE битовых операций он использоваться не будет.
Лично я предпочитаю кучу полей bit просто потому, что каждый бит имеет собственное имя, и при выполнении сравнений уже не ошибешься с тем, какую именно маску накладывать.
С другой стороны, если требуется частое сравнение по большой совокупности битов, то лучше использовать вариант с Binary. Потому что в этом случае одна побитовая операция сможет обработать несколько битов одновременно, и это будет производительнее, нежели SQL Server будет сначала выцеплять значение каждого бита, потом сравнивать их с нулями и единицами, потом над полученными булевыми значениями производить операции логического И/ИЛИ.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как лучше сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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