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

MySQL:podzapytania OR unie?

Wygląda na to, że szukasz sumy liczników rekordów dla serii różnych zapytań dotyczących Twoich tabel.

Pierwsza alternatywa ... policz wyniki każdego zapytania, a następnie dodaj je ... będzie szybsza. Czemu? Ma mniej pracy. Twoja druga alternatywa musi skłócić zestaw comid wartości, a następnie je policz. To wymaga czasu.

Użyj COUNT(*) Jeśli możesz. Jest tańsze. Użyj UNION ALL zamiast UNION Kiedy możesz; UNION usuwa duplikaty i UNION ALL nie. Usuwanie duplikatów wymaga czasu.

Wydajność każdej z alternatyw zależy od dobrego wyboru indeksów dla każdego podzapytania.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oblicz 1 tydzień przed ostatnią niedzielą i od dziś do ostatniej niedzieli

  2. Jak edytować dane w mysql za pomocą modalnego

  3. MySQL SHA() nie działa

  4. Czy istnieje sposób na usunięcie wiersza z mysql po pewnym czasie, licząc od czasu wstawienia?

  5. Brak rozszerzenia mysqli debian