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

Czy COUNT jest szybsze niż ściąganie rekordów i liczenie w kodzie?

Jeśli wiesz, że potrzebujesz danych, wyciągnij je i policz w kodzie. Jeśli jednak potrzebujesz tylko liczby, pobieranie liczby z bazy danych jest znacznie szybsze niż faktyczne pobieranie wierszy. Ponadto standardową praktyką jest ciągnięcie tylko tego, czego potrzebujesz.

Na przykład, jeśli liczysz wszystkie wiersze w tabeli, większość implementacji baz danych nie musi patrzeć na żadne wiersze. Tabele wiedzą, ile mają wierszy. Jeśli zapytanie ma filtry w where klauzuli i może używać indeksu, ponownie nie będzie musiał patrzeć na rzeczywiste dane wierszy, po prostu zlicza wiersze z indeksu.

I to wszystko nie liczy się, że przesłano mniej danych.

Ogólna zasada dotycząca szybkości baz danych to śmiało i wypróbuj to sam. Ogólne zasady nie zawsze są dobrym wskaźnikiem. Na przykład, jeśli tabela miałaby 10 wierszy i tylko kilka kolumn, i tak mógłbym po prostu wyciągnąć całość, gdybym tego potrzebował, ponieważ 2 podróże w obie strony do bazy danych przeważyłyby koszt zapytania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można pobrać identyfikatora wiersza za pomocą pdo

  2. INNER lub LEFT łączenie wielu rekordów tabeli w jeden wiersz

  3. Jak zresetować hasło roota MySQL

  4. Jak mogę wyliczyć możliwe wartości w bazie danych MySQL?

  5. Sprawdź, czy ciąg zawiera liczby