Zapytanie wewnetrzne w php

0

witam,
generalnie chodzi mi o taka rzecz: wykonuje duze zapytanie do mysql. otrzymuje jakis result. i teraz chcialbym na tym co otrzymalem wykonac cos w stylu ponownego zapytania, ktore wybierze mi tylko czesc danych z zadanymi warunkami. czyli np:

w duzym select dostaje 27k rekordow, a w tym wewnetrtznym chcialbym wyciagnac wszystkie ktore maja np name='pawel'. generalnie cel jest taki zeby nie obciazac niepotrzebnie bazy danych.

pozdrawiam

0

a najpierw baza danych musi te 27k rekordów wygenerować i przesłać... jak sądzisz, czy dane szybciej przefiltruje baza danych, która jest do tego specjalnie stworzona i ma do dyspozycji indeksy, cache, prekompilowane procedury składowane - czy skryptowy, parsowany język PHP?
sprawdź, ile czasu zajmuje zapytanie, jeśli powyżej kilkudziesięciu ms, to znaczy, że nie masz prawidłowo założonych indeksów. w przeciwnym wypadku pozwól bazie danych robić jej robotę.

0

nie znam się za bardzo na bazach danych ale z tego co pamiętam istnieje coś takiego jak tabela tymczasowa
pierwsze zapytanie mogłoby oprócz przesłania danych do php zapisać je w tabeli tymczasowej, a drugie zapytanie wykonałbyś właśnie na niej

0

tabela tymczasowa po stronie bazy danych jest przecież tworzona, a autor wątku właśnie bd chciał odciążyć :/

0

tabela: dane
kolumny: id, imie, nazwisko

$tablica_nowe = Array();
$result = mysql_query("SELECT * FROM dane");
$i = 1;
while ($row = mysql_fetch_row($result)){
 if ($row[1] == 'pawel'){
  $tablica_nowe[$i][1] = $row[0];  
  $tablica_nowe[$i][2] = $row[1];
  $tablica_nowe[$i][3] = $row[2];
  $i++;
 }
}
0
ŁF napisał(a)

tabela tymczasowa po stronie bazy danych jest przecież tworzona, a autor wątku właśnie bd chciał odciążyć :/

ja to zrozumiałem tak że chciał odciążyć bazę danych w znaczeniu zmniejszyć jej ilość danych do przetworzenia, czyli żeby nie musiała drugi raz przetwarzać miliarda elementów tylko sprawdzić już wybrane parę tysięcy

gdyby chodziło mu o to że chciałby w ogóle nie używać do drugiego zapytania bazy danych to myślę że właśnie tak by napisał

0
obczajka napisał(a)

gdyby chodziło mu o to że chciałby w ogóle nie używać do drugiego zapytania bazy danych to myślę że właśnie tak by napisał
to znaczy jak?

miliard rekordów czy sto, nie ma większego znaczenia dla prawidłowo zaprojektowanej bazy danych.

0

może niech burky najpierw przedstawi konkretny problem, który rozwiążemy, a nie wróżymy z kart...

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