Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zoptymalizuj zapytanie mysql, aby użyć indeksu w klauzuli Bitwise where

Nie wierzę, że MySQL można zmusić do używania indeksów do operacji bitowych.

Jest trochę dyskusji na ten temat na forum MySQL Performance:http://forums.mysql. com/read.php?24,35318 („Czy możliwe jest skanowanie indeksów z porównaniem bitowym?”), gdzie pracownik MySQL sugeruje rozwiązanie oparte na posiadaniu tabeli z jednym wierszem na parę (rzecz, zestaw-bit) i wykonaniu wielu złączeń. Domyślam się, że to, jak dobrze to działa, będzie w dużej mierze zależeć od twojej konkretnej aplikacji.

Według http://dev.mysql.com/tech -resources/articles/mysql-set-datatype.html indeksy nie są przydatne do wykonywania tego samego rodzaju operacji na SET wartości (które są implementowane za pomocą liczb całkowitych i operacji bitowych). Myślałem, że gdyby istniała jakakolwiek sprytna optymalizacja indeksu dla operacji bitowych, zostałaby już zastosowana do SET s.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Używasz warstwy bazy danych Django poza Django?

  2. kolba-login:nie rozumiem, jak to działa

  3. Aktualizacja pustego ciągu do NULL dla całej bazy danych

  4. Spotkanie krytycznego błędu podczas wykonywania polecenia MySQL VB

  5. Jak transponować bazę danych MYSQL w PHP