sql >> Databáze >  >> RDS >> Mysql

Optimalizujte dotaz mysql pro použití indexu na klauzuli Bitwise where

Nevěřím, že MySQL lze přimět k používání indexů pro bitové operace.

Na fóru MySQL Performance se o tom diskutuje:http://forums.mysql. com/read.php?24,35318 ("Jsou možné skenování indexů s bitovým porovnáváním?"), kde zaměstnanec MySQL navrhuje řešení založené na tom, že má tabulku s jedním řádkem na pár (věc, sada-bit) a provádí spoustu spojení. Hádám, že to, jak dobře to funguje, bude hodně záviset na vaší konkrétní aplikaci.

Podle http://dev.mysql.com/tech -resources/articles/mysql-set-datatype.html indexy nejsou k ničemu užitečné pro provádění stejného druhu operací na SET hodnoty (které jsou implementovány pomocí celých čísel a bitových operací). Myslel bych si, že pokud by existovala nějaká chytrá optimalizace indexu pro bitové operace, byla by již použita na SET s.



  1. Jak zobrazit řazení sloupce v SQL Server (T-SQL)

  2. Jak ve výchozím nastavení zastavit služby na Travis CI?

  3. postgresql:INSERT INTO ... (VYBRAT * ...)

  4. Jak porovnat hodnoty Null v MySQL