Zapytanie napisane przez programistę, który nie wie jak działa baza danych będzie zwracać pożądane dane (do tego wystarczy znajomość SQL), ale może być nieoptymalne. Jeżeli Waszym klientom to wystarcza i pani Zosia z księgowości jest zadowolona, że ma dwie godzinki wolnego gdy generuje się raport albo klient zawiesza działalność gdy na bazie zrobią się deadlocki, bo Wasze selecty nie chodzą po indeksach i lockują całą tabelę to spoko.
Oh tak, bo jak ktoś nie wie, jak działa baza danych, to już na 100% skutkiem tego będzie to, że pani Zosia będzie miała 2h wolnego :D Czemu tak się ograniczać, czemu nie zarzucisz dwoma tygodniami wolnego...? Przecież szara rzeczywistość jest taka, że w 99% przypadków nieoptymalny kod będzie wystarczający, bo pani Zosia poczeka 2s zamiast 1s i nawet nie zauważy. Płakanie w tej sytuacji, że kod działa dwa razy wolniej jest IMHO fanatyzmem.
Oczywiście, że lepiej jest coś wiedzieć, niż nie wiedzieć, szczególnie gdy mówimy o narzędziach, z którymi pracujesz. Oczywiście, że lepiej wiedzieć, co się dzieje pod spodem - choćby dlatego, że szybciej dojdziesz do błędu, jeśli zrozumiesz treść komunikatu, zamiast szukać na oślep. Ale też nie dramatyzujmy.... Przecież nikt nie zaczynał jako alfa i omega. Ja tam wciąż pamiętam, jak nie rozumiałam o co chodzi w tych całych obiektach, że to niepotrzebna abstrakcja jakaś. Nie wywołuje we mnie traumy fakt, że jakiś inny programista jeszcze czegoś nie ogarnął. Inaczej bym może podchodziła do sytuacji, gdzie ktoś pracuje w zawodzie 10 lat i dalej nie ogarnął, ale raczej nie spotkałam nikogo, kto by odmawiał rozwoju a utrzymał się w zawodzie...
Inna sprawa, że naprawdę nie ma potrzeby, by wszyscy ogarniali wszystko. Chyba właśnie po to mam w firmie specjalistów od bazy danych, żebym ja mogła skupić się na tym, co akurat ja umiem najlepiej...