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

Czy mysql count(*) jest znacznie mniej wydajny niż count(specific_field)?

Dla InnoDB

Jeśli specific_field nie jest nullable, są równoważne i mają taką samą wydajność.

Jeśli specific_field jest nullable, nie robią tego samego. COUNT(specific_field) zlicza wiersze, które nie mają wartości null specific_field . Wymaga to przyjrzenia się wartości specific_field dla każdego rzędu. COUNT(*) po prostu zlicza liczbę wierszy i w tym przypadku może być szybszy, ponieważ nie wymaga sprawdzania wartości specific_field .

Dla MyISAM

Istnieje specjalna optymalizacja dla następujących elementów, dzięki czemu nie trzeba nawet pobierać wszystkich wierszy:

SELECT COUNT(*) FROM yourtable


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Autouzupełnianie za pomocą Flask, Jquery , Javascript, MySQL

  2. jak zachować wartość hash w kolumnie tabeli w railach

  3. mysql dołącz z limitem 1

  4. MySql, PHP wyświetla obraz w HTml

  5. Jak wstawić/utworzyć procedury składowane w mySQL z PHP?