phpbar.de logo

Mailinglisten-Archive

Fw: wieso, weshalb, warum

Fw: wieso, weshalb, warum

Sebastian Mendel lists at sebastianmendel.de
Son Jun 25 08:46:16 CEST 2006


Norbert Pfeiffer schrieb:
> Hallo Sebastian,
> 
> in die grosse Tabelle kommen alle "guten" Signale, in die kleine
> Tabelle alle fehlerhaften Records. Das Handle ist die ID eines
> Logfiles und die haben von 1(Nachts) bis 1M-Signale/Eintraege.
> 
> Bei sehr kleinen Logfile-Haeppchen kann es passieren, dass ein
> bestimmtes Handle nur in der Fehlertabelle auftaucht. Also muss
> ich beide Tabellen bei der Ermittlung des naechsten Wertes
> beruecksichtigen. Derzeit mache ich das so:
> <?php
> $w1 = $DB->get_single('SELECT MAX(nHandle) FROM xtra.signal');
> $w2 = $DB->get_single('SELECT MAX(nHandle) FROM sigs.error');
> $handle = ($w1 > $w2) ? $w1 : $w2;
> ?>
> SELECT MAX(nHandle) ist immer schnell, egal ob grosse oder kleine
> Tabelle. Aber ein einzelnes Query koennte IMHO noch schneller sein.
> Nur mir faellt nix gescheites dafuer ein ... :-(

nHandle kann also in beiden vorkommen, kann aber auch nur in einer 
vorkommen?

MySQL Version?


SELECT GREATEST((SELECT MAX(nHandle) FROM xtra.signal), (SELECT 
MAX(nHandle) FROM sigs.error));


> Das mit den JOIN's ist ein Schuss in den Ofen. Der eine ist zu
> langsam und der andere bringt falsche Ergebnisse. Letzteres habe
> ich gar nicht verstanden.

Weil du ein LEFT JOIN machst, das heißt es werden nur die Datensätze 
verknüpft die ein Gegenstück in der Linken (LEFT) Tabelle haben, wenn du 
also Links (die erste) die klein Tabelle hast ist es klar das das JOIN 
wesentlich kleiner ist als wenn du Links dir große Tabelle hast.

Was du wolltest wäre also ein FULL JOIN, habe ich persönlich noch ine 
gebraucht, wird dir wohl bei deinem Geschwindigkeits-Problem nicht helfen.

Das Das so lange dauert könnte vielleicht daran liegen das MySQL ein 
Problem damit hat das die Tabellen in unterschiedlichen DB's liegen

-- 
Sebastian

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive