Optymalizacja zapytania

0

Hej,

Mam zoptymalizować zapytanie, gdzie z dwóch tabelek po 30k rekordów mam zrobić produkt. Czyli na wyjściu powinno być 30k * 30k rekordów.

Rzecz w tym, że w kodzie wygląda to tak:

  1. Najpierw pobranie wszystkiego z pierwszej tabelki
  2. Następnie iteracja i dla każdego z pierwszej tabelki jest robione nowe zapytanie (w tym nowym zapytaniu pojawiają się podzapytania powiązane z trzecią tabelką około 200 rekordów).

Dla mnie dziwne, było dlaczego po prostu nie zrobi się inner joina z 3 tabelek. Podobno pośrednia tabelka jaka może powstanie okaże się zbyt duża dla bazy.

Jak można w takim razie to inaczej rozwiązać? Myślałem, że z pierwszej tabelki będę brał porcjami np. po 100-1000 rekordów, a resztę robił poprzez potrójne złączenie joinem.

2

przecież w wyniku dostajesz 900 000 000 rekordów!!!! Chcesz to userowi wyświetlić??

Co chcesz z tymi danymi dalej robić?

1

30k zapytań iteracyjnie... Niech każde zapytanie trwa tylko 0,1 s (narzutu programu nie zakładam), to wyniki dostaniesz po 50 minutach. Brawo Ty.

0

Na produkcji chcesz to zrobić, czy tak dla siebie takie zadanie robisz?

1 użytkowników online, w tym zalogowanych: 0, gości: 1