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

Jak wykonać zapytanie do tej tabeli MySQL w najbardziej wydajny sposób?

Będziesz musiał wykonać pełne skanowanie tabeli, więc jest to prawdopodobnie najlepsze rozwiązanie:

select (case when id in (< your list >) then 'in' else 'out' end) as inlist,
       my_boolean_field, count(*)
from mytable t
group by (case when id in (< your list >) then 'in' else out' end),
         my_boolean_field;

Jeśli twoja lista jest w tabeli z indeksem, możesz użyć left join na tym. Jednak MySQL optymalizuje wyszukiwanie dla in ze stałymi wartościami (wykorzystuje wyszukiwanie binarne). Jest to prawdopodobnie najszybsza metoda.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy mogę stworzyć widok z parametrem w MySQL?

  2. Co powinien wiedzieć każdy programista PHP?

  3. mysqldump przez SSH na komputer lokalny

  4. Php mysql zapytanie pdo:wypełnij zmienną wynikiem zapytania

  5. Błędy uprawnień Mysql z „ładowaniem danych”