PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : suchfunktion mit php oder über datenbank?



Andislack
28-08-2003, 23:57
hi

ich bin gerade dabei eine suchfunktion zu basteln.
ein großes problem dabei ist, dass meine eine datenbank interbase ist und diese kein LIMIT in einem SELECT kann...(man kann sich eine stored procedure erstellen, aber dann werden auch nur die ersten n zeilen ausgegben...also nicht n zeilen ab x).

nunja, ich lasse im mom aus der interbase db nach einem stichwort suchen, die ganzen ergebnisse in eine mysql db schreiben.
wenn es dann mehrere ergebniss-seiten gibt, nehm ich die dann aus der mysql, weils einfach viel schneller geht.

1.
ist es sinnvoll, was ich mache oder wäre es geschickter/schneller die daten in variablen zu speichern um daraus dann zu schöpfen?

oder fällt jemandem überhaupt ne bessere/schnellere methode ein?

2.
ist es schneller eine suche über den SELECT auf eine db zu machen oder ist es schneller mit php in den variablen zu suchen, die dann vorher angelegt wurden?
also eine select * from table where stichwort = stichwort und dann mittels einer while schleife in ein array schreiben und mittels preg_match den inhalt nach der entsprechenden kompletten suchanfrage durchsuchen lassen. (wenn z.b. als suchinhalt mehrere wörter angegeben werden)

ich hoffe es kann jemand mit dieser frage was anfangen...is schwer zu erklären, ich sitz manchmal selber hier und versteh nicht was ich meine :cool:

3.
dann noch ne frage am rande:
wie speichere ich mehrere variablen in einem array mittels einer while schleife?
also so gehts nicht:


while($row = ibase_fetch_object($dd)){
$array[] = $row->soso, $row->dada...usw.
}

das problem ist wiedermal interbase, weil interbase kein ibase_fetch_array kann und mir keine andere lösung dazu einfällt

hoffe ihr versteht meine fragen.
vielen dank schonmal für eure antworten
gruss andi

sagi
31-08-2003, 16:29
Naja. so wie ich das sehe kann dir bei 1. und bei 3. ein wechsel der Datenbank weiterhelfen. Wobei du ja sogar schon eine Mysql Datenbank zur verfuegung hast.

bei 2. bin ich mir nicht sicher, aber ich vermute mal, dass du mit den Variablen schneller sein wirst (solange die Datenmengen nicht allzu gross werden), da die ja im RAM liegen, wogegen die Datenbank mal alles von der Platte laden muss.

mfg

c.