|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - Битовая обработка данных |
|
MySQL - Битовая обработка данных
|
Новый участник Сообщения: 1 |
Профиль | Отправить PM | Цитировать Проблема в следующем:
В таблице БД имеется поле типа text фиксированной длины (57 символов). Очевидно, запись в этом поле будет занимать 57 байт, то есть 456 бит. Как средствами SQL проанализировать только конкрктные биты поля? К примеру, как сделать запрос, который проверит на равенство единице, скажем, 101-й и 300-й бит поля? Возможно, как-то с помощью битовых опираций, но как? Если у кого-нибудь будут какие-то мысли по этому поводу, помогите. Заранее благодарен. |
|
Отправлено: 19:56, 02-12-2007 |
Ветеран Сообщения: 1864
|
Профиль | Отправить PM | Цитировать pralev,
начните здесь , особенно посмотрите там коментарий - вроде чтото похожее (то есть, Вам скорей всего нужны функция IF, и в ней уже проверять есть ли бит на нужном месте (то есть оператор &)) |
------- Отправлено: 20:29, 02-12-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Назгул Сообщения: 2633
|
Профиль | Отправить PM | Цитировать Битовые операции, вобще-то, не являются стандартным свойством реляционных БД.
Т. е. к ним не применимы многие стандартные "фенечки", например индексирование. При большом объеме данных это будет серьезный затык в производительности. По-этому в больших БД, часто жертвуют размером ради скорости, т. е. выделяют под битовое поле минимально возможное атомарное значение, например байт. Или используют не один столбец со значением text (который кстати тоже не описан в реляционной алгебре), а используют группу столбцов типа максимально-возможное целое (в вашем случае это будет 8 столбцов по 8 бит). В таком случае, например проверка на наличие 1цы, скажем в 7 разряде будет проходить как " > 127" Или же если функциональная матрица сильно разрежена (используются минимум пар: входное значение - выходное значение), пытаются перенести вычисления из булевой алгебры, в операции со множествами. |
------- Отправлено: 11:59, 03-12-2007 | #3 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Битовая карта MFT повреждена | макс70 | Накопители (SSD, HDD, USB Flash) | 6 | 20-01-2010 09:00 | |
Разное - Обработка массивов данных, программа на паскале. Не могу найти ошибку в программе | yulia_hoi | Программирование и базы данных | 6 | 08-01-2010 14:50 | |
HDD - [решено] Неверная битовая карта тома | rvi77 | Накопители (SSD, HDD, USB Flash) | 4 | 21-06-2009 09:40 | |
MySQL - [решено] сохранение данных в базе данных Mysql | TigerZaka | Программирование и базы данных | 4 | 24-08-2008 15:48 | |
Архивирование данных и работающих баз данных. | karadjich | Программное обеспечение Windows | 2 | 23-07-2007 17:01 |
|