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

Optimiser la requête mysql pour utiliser l'index sur une clause bitwise where

Je ne pense pas que MySQL puisse être amené à utiliser des index pour les opérations au niveau du bit.

Il y a des discussions à ce sujet sur le forum MySQL Performance :http://forums.mysql. com/read.php?24,35318 ("Les analyses d'index sont-elles possibles avec une comparaison au niveau du bit ?") où un employé de MySQL suggère une solution basée sur le fait d'avoir une table avec une ligne par paire (chose, ensemble-bit) et de faire un tas de jointures. Je suppose que la qualité de ce fonctionnement dépendra beaucoup de votre application particulière.

Selon http://dev.mysql.com/tech -resources/articles/mysql-set-datatype.html les index ne sont d'aucune utilité pour effectuer le même type d'opérations sur SET valeurs (qui sont implémentées avec des entiers et des opérations au niveau du bit). J'aurais pensé que s'il y avait une optimisation intelligente de l'index pour les opérations au niveau du bit, elle aurait déjà été appliquée à SET s.