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

Najlepiej używać * przy wywoływaniu wielu pól w mysql?

Uwaga: nazwanie wszystkich pól jest oczywiście najlepszą praktyką, ale w tym poście omówię tylko korzyści związane z wydajnością, a nie te związane z projektowaniem lub konserwacją.

* składnia może być wolniejsza z następujących powodów:

  • Nie wszystkie pola są indeksowane, a zapytanie wykorzystuje pełne skanowanie tabeli. Prawdopodobnie nie w twoim przypadku:jest prawie niemożliwe, aby wszystkie zwracane pola były indeksowane za pomocą jednego indeksu.

  • Zwracanie pól końcowych z tabeli zawierającej kolumny o zmiennej długości może skutkować niewielkim obciążeniem wyszukiwania:aby zwrócić 20th pole, poprzednie 19 należy zbadać i obliczyć przesunięcia.

  • Wystarczy zwrócić więcej danych (przekazywanych przez połączenie).

Ponieważ potrzebujesz prawie wszystkich pól, ostatni powód jest prawdopodobnie najważniejszy. Powiedzmy, description TEXT pole może mieć tylko 1 z 50 pola nieużywane na stronie, ale mogą zajmować 10 razy więcej miejsca niż wszystkie inne pola razem.

W takim przypadku będzie oczywiście lepiej nazwać wszystkie pola i pominąć długie pola, których nie potrzebujesz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie MYSQL do wybrania wyniku warunku jednej tabeli i wyświetlenia go w innej tabeli

  2. mysql z wartościami oddzielonymi przecinkami

  3. Ukrywanie prawdziwego identyfikatora obiektu bazy danych w adresach URL

  4. Jak używać DELETE ON CASCADE w relacji wiele do jednego?

  5. Skrypt Google Apps do eksportowania arkuszy kalkulacyjnych do mySQL wykonywany na wielu plikach