phpbar.de logo

Mailinglisten-Archive

[php] mysql + mssql

[php] mysql + mssql

Gloss Mathias php_(at)_phpcenter.de
Wed, 18 Sep 2002 11:43:57 +0200


Aloha,

> Von: 	Joerg Holz[SMTP:holz_(at)_derdiedas.de]
>
> ich habe das problem, dass ich 'eigentlich' in einer db-anfrage zwei
> unterschiedliche datenbanken auf zwei unterschiedlichen plattformen in
> EINEM SELECT abfragen muesste. das eine ist eine mysql, das andere eine
> mssql.
>
> ich behelfe mir zur zeit damit, dass ich die beiden abfragen getrennt
> handel, die werte jeweils in ein array schiebe und dann mit php
> weiterbearbeite. das geht auch einigermassen, ist aber sehr umstaendlich
> und ich habe etwa 99% an unnuetzen daten.
>
.... und vorallendingen liegen diese Daten dann auch noch
im Hauptspeicher rum, was nicht sonderlich performant ist.

> gibt es eine moeglichkeit das irgendwie anders zu loesen?
>
Ich würde das so machen (etwas abstrahiert, pass es einfach
an deine Gegebenheiten an)

$odb1 = new DB ... ( zur Datenbank, die die meisten nützlichen
                      Infos liefert)
$odb2 = new DB ... ( zur anderen Datenbank, um die noch
                      benötigten Details besorgt)
$odb1->query ( .....)

while ( $odb1->next_record ) {
   $sSql = .... Query für db 2 zusammenbauen
   $odb2->query($sQql);
   Werte aus beiden Abfragen zusammenbasteln und
   ausgeben / speichern / ....
}

so sollten die Abfragen nur die Daten liefern, die gebraucht
werden. Das Query zur db 2 wird halt leider mehrmals
ausgeführt, aber wenn db 2 ein sinnvolles Caching hat, und
sowiso immer die gleiche Tabelle abgefragt wird, sollten sich
die Antwortzeiten in Grenzen halten.

Grüße, Mathias


php::bar PHP Wiki   -   Listenarchive