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

SELECT Wydajność instrukcji przy użyciu * w porównaniu z listą nazw pól

Zgodnie z ogólną zasadą w programowaniu, prawie zawsze najlepszą praktyką jest bycie jednoznacznym.

Wybierz * tak naprawdę nie zaoszczędzisz tak dużo pod względem konserwacji, biorąc pod uwagę, że kod, który wykorzystuje to zapytanie, i tak będzie musiał zostać zaktualizowany w większości przypadków.

Jeśli piszesz kod, który po prostu ślepo operuje na dowolnych polach znajdujących się w określonej tabeli, prosisz o kłopoty. Na przykład administrator, który dodaje do tabeli jakąś kolumnę konserwacji, taką jak znacznik czasu, nie będzie myślał, że nagle pojawi się ona w Twojej aplikacji. Najlepszym sposobem na zabezpieczenie swojej aplikacji w przyszłości jest bycie wyraźnym.

Nie zapomnij również o kosztach przepustowości w architekturze klient-serwer, wynikających z przeciągania w dół kolumn danych, których nie będziesz używać.

Dokładniej omówiłem wpływ używania select * na wydajność w tym krótkim artykule, który napisałem jakiś czas temu:"Nie używaj Wybierz *"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd zgodności dostawcy bazy danych Entity Framework

  2. utworzyłem plik PDF za pomocą Html2pdf, nie wiem, jak zapisać i pobrać plik pdf

  3. Policz wystąpienia na podstawie kilku warunków dla dwóch tabel

  4. Używanie SUM() bez grupowania wyników

  5. Jakiś sposób na uniknięcie sortowania plików, gdy kolejność według jest inna niż klauzula where?