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

Je COUNT rychlejší než stahování záznamů a počítání v kódu?

Pokud víte, že data potřebujete, pokračujte a vytáhněte je a započítejte je v kódu. Pokud však potřebujete pouze počet, je výrazně rychlejší získat počet z databáze než skutečné načítání řádků. Také je standardní praxí vytáhnout pouze to, co potřebujete.

Pokud například počítáte všechny řádky v tabulce, většina databázových implementací se nemusí dívat na žádné řádky. Tabulky vědí, kolik řádků mají. Pokud dotaz obsahuje filtry v where klauzule a může používat index, opět se nebude muset dívat na data skutečných řádků, pouze počítá řádky z indexu.

A to vše nepočítám méně přenesených dat.

Základním pravidlem o rychlosti databáze je pokračovat a vyzkoušet si to sami. Obecná pravidla nejsou vždy dobrým ukazatelem. Pokud by například tabulka měla 10 řádků a jen několik sloupců, mohl bych to stejně vytáhnout celou v případě, že bych to potřeboval, protože 2 zpáteční cesty do databáze by převážily náklady na dotaz.



  1. Chyba NodeJS Postgres getaddrinfo ENOTFOUND

  2. Reprodukujte com.mysql.jdbc.exceptions.jdbc4.CommunicationsException s nastavením Spring, hibernate a C3P0

  3. Mysql:PŘEJMENUJTE TABULKU, POKUD EXISTUJE

  4. Jak spustit funkci v Oracle s parametry