ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / PHP / MySQL Probleme / Was ist besser? direkt aus der Datenbank oder per Files


Seite 1 von 1

MrNase schrieb am 11.07.2003 um 13:21 Uhr

Ich steh vor einer Entscheidung...

Es geht dadrum, das ich eine Datenbank programmiere wo man Firmen eintragen kann und dann danach suchen kann etc.

Moment hab ich es so, dass per klick auf "anzeigen.php?id=2" alle Einträge aus der Datenbank geholt werden (Strasse, PLZ etc. mit "WHERE id=$id")...
Es sind aber immer 10 Datensätze und deshalb überlege ich, ob ich nicht pro
Eintrag eine *.php Datei erstelle die die Daten beinhaltet (Strasse, PLZ etc.).
Beim ändern der Daten in der Datenbank sollte natürlich auch die Datei geändert werden ;)
Das hätte den Vorteil, das ich pures HTML hab und mir jedesmal die Abfragen spare.
Zum Suchen kann ich ja die Datenbank nehmen da die Einträge der Datenbank und die Daten in der Datei die gleichen sind.

Was haltet ihr davon? Soll ich auf files setzen und die Datenbank schonen? Oder gibt es eine andere Möglichkeit?

gfc schrieb am 11.07.2003 um 13:27 Uhr

wie wärs mit Text-Files?? ganz einfach?

holacms (www.holarse.net basiert drauf) z.b. setzt die ein..

MrNase schrieb am 11.07.2003 um 13:40 Uhr

Naja, das Ziel des Projekts sind mindestens 1000 Firmen und da würde ich schon gerne ne Datenbank nehmen :)
Das System steht eigentlich schon, nur die Frage ob der Umweg über die Dateien nicht Resources sparen kann.


btw: Text-Files und Suche? ;)

gfc schrieb am 11.07.2003 um 16:23 Uhr

frag mal bei comrad (eben der Autor von holacms) nach, ich denke er is darin der Big Boss ;):

http://holacms.drunkencat.net/

Seine Site holarse.net hat nach seinen Angaben ca 1200 Seiten und wenn du drauf gehst: performance is tipptopp (das ding läuft auf nem vergleichsweise schwachen server ;) )

Ich hatte es selbst mal im einsatz, es wird wirklich alles in txt gespeicher :D

Tendor schrieb am 11.07.2003 um 18:32 Uhr

ganz klar datenbank!

wenn es nur 1000 datensätze sind, und nur daten wie addresse und sowas,
warum sollte man das nicht in die datenbank laden?

dazu ist sie doch da...

und die query sollte auch nicht die welt dauern. id als prim. index und fertig

MrNase schrieb am 11.07.2003 um 18:55 Uhr

ok, ich hätte es auch so genommen ;)
Hab mich mal in die Datei-Funktionen von php eingelesen und das ist echt ein heiden Aufwand :)

Was bringt mir dieses

ALTER TABLE `daten` ADD INDEX(`id`) 

??
Muss ich es nur einmal machen, oder in unbestimmten Abständen wiederholen?


Trotzdem danke für eure Antworten :)

Tendor schrieb am 11.07.2003 um 22:58 Uhr

nur einmal, die spalte id ist (und bleibt) dann indiziert.

Dr.HDi schrieb am 12.07.2003 um 11:45 Uhr

Ich empfehle jedem erst mal ein paar Grundlagen zu SQL-Datenbanken:

z.B. http://www.techfak.uni-bielefeld.de/~walter/lehre/dm2/dbsql/

Index erstellen, Tabellenstruktur ändern
Mit zunehmender Tabellengröße werden die DB-Anfragen immer langsamer. Das Problem verschärft sich exponentiell mit der Zahl von table-joins die in einer query nötig werden. Abhilfe schaffen B-Tree Indizes auf den Spalten (oder Spaltenkominationen), die häufig in WHERE-Klausen benötigt werden. Angenehmerweise übernimmt die Indexverwaltung komplett das DBMS, man muß den INDEX nur bestellen (siehe auch 4.2).

CREATE TABLE <tn> (<c1name> <c1typ> .. INDEX (c?name [,..]) ..);
CREATE TABLE <tn> (<c1name> <c1typ> .. PRIMARY KEY (c?name [,..]) ..);
CREATE TABLE <tn> (<c1name> <c1typ> .. UNIQUE (c?name [,..]) ..);
ALTER TABLE <tn> ADD INDEX (c?name [,..]);
...

* alle INDEX beteiligten Spalten müssen die NULL verbieten (NOT NULL Deklaration);
* KEY ist synonym zu INDEX
* UNIQUE verbietet, wie PRIMARY KEY, Doppeleinträge
* ALTER TABLE ... erlaubt die Tabellenstruktur zu modifizieren (ADD, DROP, RENAME, CHANGE..);
* Vorteil eines Index: erheblich schnellerer zugriff
* Nachteil: mehr Speicherbedarf, indexverändernde Zugriffe langsamer (INSERT, DELETE etc.)

MrNase schrieb am 12.07.2003 um 16:27 Uhr

Danke Leute :)


Jetzt nur noch "Unique"... Obwohl... wenn "id" schon "PRIMARY KEY" ist, dann brauche ich es nicht mehr.

Wenn ich jetzt die ID 5 lösche, dann wird die ID doch nicht mehr weitervergeben?

Seite 1 von 1