Mysql
 sql >> Base de données >  >> RDS >> Mysql

Opérations binaires MySQL, filtre bloom

Créez une table avec une colonne int (utilisez ce lien pour choisir la bonne taille int). Ne stockez pas les nombres sous la forme d'une séquence de 0 et 1.

Pour vos données, cela ressemblera à ceci :

number

154
53
148
38
59
106

et vous devez trouver toutes les entrées correspondant à 24.

Ensuite, vous pouvez exécuter une requête comme

SELECT * FROM test WHERE number & 24 = 24

Si vous souhaitez éviter la conversion en 10 nombres de base dans votre application, vous pouvez la confier à mysql :

INSERT INTO test SET number = b'00110101';

et recherchez comme ceci

SELECT bin(number) FROM test WHERE number & b'00011000' = b'00011000'