Pokaż wyniki od 1 do 6 z 6

Wątek: Generowanie mapy-optymalizacja zapytań.

  1. #1
    Zarejestrowany
    Dołączył
    May 2010
    Posty
    21

    Domyślnie Generowanie mapy-optymalizacja zapytań.

    Witam.
    Otóż napisałem sobie prosty skrypt do wyświetlania mapki.
    Jednak główną jego wadą jest ilość zapytań sql. Mam ich prawie 200.
    Problem leży w tym że zapytania sql wykonuje w pętli for, a mógłbym to zrobić w pętli while.
    Tylko że nie wiem w jaki sposób połączyć 2 tabele.
    W pierwszej tabeli "mapa" mam 4 kolumny:x,y,nazwa,img,solid
    Mam też drugą tabele z użytkownikami i ich pozycją.
    Więc problem polega na tym jak zmienić ten skrypt aby działał w pętli while, a nie for.
    PS. Załączam kawałek kodu, używającego pętli for.
    Kod php:
    for ($j=$y_p$j<=$y_k$j++)
    {
    for (
    $i=$x_p$i<=$x_k$i++)
    {
    $x1 mysql_query("SELECT * FROM mapa WHERE y='$j' AND x='$i'");
    $lz++;
    $x1a mysql_num_rows($x1);
    $mapa1 mysql_query("SELECT * FROM mapa WHERE y='$j' AND x='$i'");
    $lz++;
    $mapa mysql_fetch_array($mapa1);
    $mapa2 mysql_query("SELECT username,x,y FROM tb_users WHERE y='$j' AND x='$i'");
    $lz++;
    $mapa3 mysql_num_rows($mapa2);
    $mapa5 mysql_query("SELECT username,x,y FROM tb_users WHERE y='$j' AND x='$i'");
    $lz++;
    $mapa4 mysql_fetch_array($mapa5); 

  2. #2
    Zasłużony Awatar karer
    Dołączył
    Apr 2008
    Posty
    2,554

    Domyślnie

    Nie chcialo mi sie czytac tego kodu bo widze ze wyjasniles sie jasno w czym lezy problem. Jesli uwazasz ze petla while bedzie wydajniejsza w porownaniu do petli for to jestes w niebywalych tarapatach. Rodzaj petli nie wplywa na wydajnosc (poza petla foreach) w najmnieszym stopniu. Koniec twojego pytania...

  3. #3
    Zarejestrowany
    Dołączył
    May 2010
    Posty
    21

    Domyślnie

    Więc co zrobić aby zoptymalizować wyświetlanie się mapy tak aby zredukować w jakimś stopniu ilość zapytań. Przecież pewnie musi istnieć sposób aby nie dawać zapytań w pętli tylko przed nią.

  4. #4
    Grupa MmoCenter Awatar aris
    Dołączył
    Sep 2009
    Posty
    2,408

    Domyślnie

    pobrac odpowiednia ilosc rekordow w zaleznosci od wspolrzednych? w 1 zapytaniu?

  5. #5
    Zarejestrowany Awatar Grajek
    Dołączył
    Jun 2009
    Posty
    955

    Domyślnie

    Inner join, left join

  6. #6
    Grupa MmoCenter Awatar aris
    Dołączył
    Sep 2009
    Posty
    2,408

    Domyślnie

    left join, bo inaczej sie wywali

Informacje o wątku

Użytkownicy przeglądający ten wątek

Aktualnie 1 użytkownik(ów) przegląda ten wątek. (0 zarejestrowany(ch) oraz 1 gości)

Podobne wątki

  1. Generowanie mapy
    Przez naruciakk w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 10
    Ostatni post / autor: 01-05-2010, 22:57
  2. Dynamiczne generowanie/odświeżanie z rankingiem:)
    Przez kisielek1995r w dziale Problemy przy tworzeniu własnej gry
    Odpowiedzi: 1
    Ostatni post / autor: 09-04-2010, 23:51
  3. Generowanie napisów na obrazku.
    Przez MuchaZ w dziale PHP / MySql
    Odpowiedzi: 27
    Ostatni post / autor: 04-01-2010, 16:14
  4. Iloóć zapytań
    Przez Imperator_Edi w dziale PHP / MySql
    Odpowiedzi: 11
    Ostatni post / autor: 06-03-2009, 16:01
  5. [MySQL] Optymalizacja Zapytań
    Przez Aylard w dziale PHP / MySql
    Odpowiedzi: 15
    Ostatni post / autor: 02-04-2008, 22:06

Zakładki

Uprawnienia umieszczania postów

  • Nie możesz zakładać nowych tematów
  • Nie możesz pisać wiadomości
  • Nie możesz dodawać załączników
  • Nie możesz edytować swoich postów
  •