![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 17.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przepraszam za brak polskich znakow.
Wdalem sie w dyskusje na temat wydajnosci z jednym z kolegow w pracy i chcial bym prosic was o wasze zdanie. Mamy baze danych a w niej "kilka" tabel i bardzo duzo rekordow ....powiedzmy. Co jest szybsze: 1 Skomplikowane zapytanie SQL z 4 JOIN'ami 2 Proste zapytania SQL bez JOIN'ow Nie bierzemy pod uwage czasu na komunikacje miedzy aplikacja a baza danych a we wszystkich przypadkach mamy potrzebne indeksy a baza danych to MySQL (InnoDB). Ten post edytował m2ka 21.06.2012, 11:21:44 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 898 Pomógł: 48 Dołączył: 2.11.2005 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zdecydowanie obstawiam wersję JOIN bo jak rozumiem problem to:
Join 1. zapytanie 2. odpowiedź Da zapytania 1. zapytanie 2. odpowiedź 2a. wyciągnięcie jakiegoś id z wyniku pierwszego zapytania 3. zapytanie bazujące na wyciągniętym id 4. odpowiedź Oczywiście w skrajnych przypadkach JOIN może być gorszym wyjściem, ale generalizując wybrałbym JOIN zwłaszcza jeśli mówimy o prostych zapytaniach. Przy prostych zapytaniach pewnie 90% czasu tracisz na komunikację z bazą, a nie na czas oczekiwania na odp. samej bazy (ale to jak pisałeś pomijasz). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 20:24 |