[php][mysql] Jak najszybciej porównać dwie tabele w mysql

0

Witam, mam pytanie odnośnie porównania dwóch identycznych strukturalnie tabel mysql-owych.
Mam 2 tabele : zdjecia_serwer oraz serwer. Każda tabela zawiera 2 pola id oraz kod.
Teraz chodzi mi o to, żeby wyświetlić wszystkie rekordy, które są w tabeli zdjecia_serwer i jednoicześnie nie ma ich w tabeli zdjecia oraz na odwrót, które sa w tabeli zdjecia a nie ma ich w tabeli zdjecia_serwer.
Ja zrobiłem to na pętelce czyli:

$pyt = "select kod from zdjecia_serwer";
$wyk_pyt=mysql_query($pyt);
$j=0;
while ($wiersz = mysql_fetch_array($wyk_pyt))
{
  $pyt1 = "select kod from zdjecia where kod='$wiersz[kod]'";
  $wyk_pyt1 = mysql_query($pyt1);
  $wiersz1 = mysql_fetch_array($wyk_pyt1);

  if($wiersz[kod] != $wiersz1[kod]){
                  $nowe[$j] = $wiersz[kod];
                  $j++;
                  }
} 

Podany kod wyszukuje tylko jedną część problemu czyli sprawdza , które zdjecią sa w tabeli zdjecia_serwer i jednocześnie ich nie ma w tabeli zdjecia; wynik zapisuje do tablicy (numery zdjęć).
Może da się to zrobić szyciej ? (może na jednym bardziej złożonym zapytaniu)

A caly pomysl chcialbym wykorzystac do automatycznego aktualizowania zdjec w programie.

Dodam, ze mam ok. 6000 rekordów i takie porównywanie na PIV2,4MHz 256RAM trwa ok. 23 sekund.

Dzieki za odp.
Pozdrawiam

0

nie jestem pewien na 100% ale sprobuj zapytania zagnieżdżonego sql

select kod
from zdjecia
where kod not in (select kod from zdjecia_serwer)

chyba jakos tak ale nie jestem pewien

0

nie jestem pewien na 100% ale sprobuj zapytania zagnieżdżonego sql

select kod
from zdjecia
where kod not in (select kod from zdjecia_serwer)

chyba jakos tak ale nie jestem pewien

Dokladnie tak :) thx ale musialem instalac mysql wer. 4.1 bo nizej niestey nie obsuguje zapytan zagniezdzonych. takze ten kto ma serwer Krasnala ma wersje 3.xx i niestety niech Od razu sciaga ze strony www.mysql.com wesje przynajmniej 4.1

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