Я пытаюсь реализовать побитовый фильтр, используя MYSQL (с udf, если необходимо).
Фильтр похож на AND, но я хочу использовать маску для создания новой битовой строки ... Позвольте мне объяснитьВы с примером:
Предположим, у меня есть таблица с BLOB-объектами, хранящими 8 битовых потоков:
- data1: 10110110
- data2: 01100010
- data3: 00010011
Тогда у меня есть маска для применения, чтобы получить биты из данных, когда значение маски равно 1
И так получим следующие ожидаемые результаты:
- data1: 1010
- data2: 1010
- data3: 0011
Есть лиспособ оптимизации фильтрации без зацикливания на каждом бите «маски» для получения соответствующего значения в строке «данных» ...
УТОЧНЕНИЕ
I 'Мы только что взяли 8 битов за пост, но это больше похоже на 256 байтов
для Джо. Чтобы пояснить пример, маска 00101011 интерпретируется как: получить битзначение из поля данных в позиции 3,5,7,8, если вы читаете маску слева направо, нумерованное от бита 1 до бита 8 ... Надеюсь, это уточнение "ясно" ...