niedziela, 28 marca 2010

Fazy przetwarzania zapytań.

Nie każdy zdaje sobie sprawę, że zapytanie napisane w SQL nie jest przetwarzane od góry do dołu tak jak to jest w większości języków programowania. Fazy logicznego przetwarzania zapytań świetnie opisał Itzik Ben-Gan w swojej książce "Inside Microsoft SQL Server 2008 T-SQL Quering".


Jak możemy zauważyć na powyższym rysunku to klauzula "FROM" wykonywana jest jako pierwsza. Za nią idą "JOINy". Potem jest "WHERE", "GROUP BY" z "HAVING" i dopiero pojawia nam się klauzula "SELECT".
 
Zrozumienie w jaki sposób wykonywane, czy też przetwarzane jest zapytanie, stanowi niejako podstawy do efektywnego pisania kodu SQL. Zachęcam Was do przestudiowania powyższego diagramu.