SELECT * FROM table
Wstęp dla nietechnicznych: powyższa konstrukcja to sposób zapytania bazy danych “bazo danych, powiedz przecie, co trzymasz w tabelce table“. Nie, nie musicie czytać tej notki.
Używanie * w select jest jedną z rzeczy, za którą powinno się obcinać programistom paluszki. Po kawałku, żeby lepiej zapamiętali.
Przykład nr 1, daleko nie sięgam, ledwo do wczorajszego wieczoru. Musieliśmy uruchomić na serwerze pewien skrypcik, ale wszystki próby kończyły się radosnym komunikatem, że więcej pamięci serwer już nam nie da i mamy spadać. Po wyczerpaniu rozwiązań administracyjnych z duszą na ramieniu zajrzałam w kod. A tam
SELECT * from tabelka
Wynik miał setki tysięcy wierszy, serwer był słaby, a tabelka miała ponad 20 kolumn, głównie tekstowych, z których używane były 4. Po zamianie na
SELECT col1, col2, col3, col4 from tabelka
okazało się, że poradzimy bez dokupywania pamięci.
Przykład drugi: beztrosko napisany trigger logujący zmiany
INSERT INTO tabelka_logujaca SELECT * FROM zmieniony_wiersz_tabelki_logowanej
Niby w porządku, nie? Do momentu, kiedy programista radośnie nie dodał sobie jednej kolumny w tabelce.

przeczytalem, ale nie zrozumialem
Przez: kamil w 2008-05-15
o 10:07
Which Programming Language are You?
Przez: waltharius w 2008-05-15
o 14:23
eee myślałem, że się wklei… no więc jestem LISP
Kiedyś byłem C, a jeszcze kiedyś Perl.
Przez: waltharius w 2008-05-15
o 14:23
Boze, brzmi jak instrukcja dla hakera jak najlatwiej zlamac “nasz” system…
Przez: Niszka w 2008-05-20
o 16:18