sql >> Database >  >> RDS >> Mysql

Optimaliseer mysql-query om index te gebruiken op een Bitwise where-clausule

Ik geloof niet dat MySQL kan worden gemaakt om indexen te gebruiken voor bitsgewijze bewerkingen.

Er is enige discussie hierover in het MySQL Performance-forum:http://forums.mysql. com/read.php?24,35318 ("Zijn indexscans mogelijk met bitsgewijze vergelijking?"), waarbij een MySQL-medewerker een oplossing voorstelt op basis van een tabel met één rij per (thing,set-bit) paar en een heleboel joins. Ik vermoed dat hoe goed dit werkt, sterk afhangt van uw specifieke toepassing.

Volgens http://dev.mysql.com/tech -resources/articles/mysql-set-datatype.html indexen hebben geen zin om dezelfde soort bewerkingen uit te voeren op SET waarden (die worden geïmplementeerd met gehele getallen en bitsgewijze bewerkingen). Ik had gedacht dat als er een slimme indexoptimalisatie voor bitsgewijze bewerkingen was, deze al zou zijn toegepast op SET v.



  1. Beste gegevensopslag voor miljarden rijen

  2. Hoe NULL-waarden in MySQL te tellen?

  3. Oracle In-Memory kosten

  4. Hoe de resultaten van twee query's in SQL te combineren?