Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP + SQL - spora baza, jakie zapytanie
willi123
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 19.03.2010

Ostrzeżenie: (0%)
-----


Witam

Mam taki o to problem posiadam, posiadam bazę a w niej 2 tabele każda po ok 900 tys. rekordów. Ich struktura jest identyczna: Id, Nazwa, Miejsce. Muszę teraz obie tabele porównać a mianowicie sprawdzić która nazwa miała największy wzrost(zakładając np. że szukam wzrostów tylko powyżej pewnej liczby np 100). Czyli w sumie muszę porównać wszystkie nazwy w obu tabelach i ich miejsca. Jak to zrobić przy tak dużych bazach żeby nie zapchać serwera ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Nie wiem czy dobrze zrozumiałem, ale chcesz zrobić coś takiego, że masz w obu tabelach te same pola (ale pod różnymi ID) i jedna z kolumn zawiera dane, których różnica większa niż 100 Cię interesuje?

Jesli tak to zrób JOIN po obu tabelach wedle tego pola, które jest identyczne i wyświetl jedynie te, których wartość abs różnicy kolumn jest większa niż interesująca Cię wartość.
Coś w deseń
  1. SELECT jakieś pola FROM tabela1 AS a JOIN tabela2 AS b ON a.nazwa = b.nazwa WHERE abs(a.miejsce - b.miejsce) > 100
Oczywiście pole nazwa masz chyba unikatowe? Jeśli nie, kombinować trzeba inaczej (IMG:style_emoticons/default/smile.gif) Ale to tylko zgaduję, bo nie wiemy wiele więcej, jak choćby to, czy obie te tabele w jakimś stopniu się pokrywają...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 19:16