Ponadto uważam również, że na początku aplikacji Laravel powinieneś skupić się na budowaniu funkcji i kodowaniu. Gdy zaczniesz napotykać problemy i zaczniesz zauważać, że aplikacja jest powolna, tylko wtedy powinieneś sprawdzić, co możesz zrobić, aby zoptymalizować zapytania MySQL.
99% czasu będziesz używać wymownych metod do wykonywania połączeń bazy danych, a czasem łatwej trasy, którą chcesz wybrać, okazuje się.
Orm jak elokwent jest po prostu fantastyczny i będzie wspierać cię aż do końca.
Teraz wyobraź sobie, że budujesz swoją aplikację od jakiegoś czasu i chcesz przetworzyć niektóre z swoich połączeń, aby je nieco przyspieszyć. Przejdźmy do przykładu, w jaki sposób możesz dołączyć do zapytań, aby uzyskać ten sam wynik, w krótszym czasie.
Problem
Rozważ przykładowy kod poniżej, który używa Użytkownik I Organizacja Tabela, aby zwrócić nazwę użytkownika.
$ user = user :: Find ($ user_id);Powyższy przykład kodu jest wystarczająco prosty, aby zrozumieć, ale używa dwóch oddzielnych połączeń do bazy danych. Drugie połączenie jest oczywiście niezawodne na pierwszym, dlatego musimy poczekać, aż pierwszy zakończy się, zanim będziemy mogli dojść do następnego.
Rozwiązanie
Popraw ten przykład kodu, łącząc oba żądania w jedno zapytanie.
$ user_with_organization = user :: gdzie („id”, $ user_id)Teraz to, co właśnie zrobiliśmy powyżej?
1. Najpierw kierujemy użytkownika na podstawie $ user_id
, dokładnie to samo zapytanie co pierwsze.
2. Następnie dołączamy do wyników z tabelą organizacji za pomocą tabeli użytkowników Wypełnij lewe zapytanie łączące
3. Pierwsze zapytanie złapało model użytkownika, który zapewnia nam dostęp do organizacja_id
atrybut.
4. Wybieramy identyfikator użytkownika i nazwę organizacji.
5. Wreszcie, używamy metody pierwszej (), która zapewnia, że gdy znajdzie jedną organizację, która spełni wymaganie, natychmiast zwróci nazwę organizacji.
Jak działa lewe Join
Kiedy masz dwa zapytania i chcesz dołączyć do drugiego, oznacza to, że wynik końcowy będzie wynikiem pierwszego zapytania, w którym niektóre z wyników mogą otrzymać pewne dopasowanie do drugiego zapytania i mieć dodatkowe dane z ich.
Otóż to. Teraz lepiej rozumiesz, jak działa Left Join. Użyj go, aby połączyć zapytania, które są powiązane, aby złożyć jedno żądanie do bazy danych. Wygląda dość prosto, ale użycie tej samej metody może pomóc w optymalizacji najbardziej złożonych zapytań dotyczących wielu tabel.
Jeśli masz jakieś komentarze lub sugestie, skontaktuj się ze mną.