Frage zur Geschwindigkeit der Datenbanken
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abfragen
alphabetische sortierung
anfrage
bestimmte abfragen
datenbank
eingegebenen begriff
feld
frage
geiler name
index
jahresende
million
stehen
suche
tabelle
telefonbuch
text
tun
zeile
-
Ich habe mir vor kurzem einmal ernsthafte GEdanken darüber gemacht, ob die GEschwindigkeit der Datenbanken/ meines PHP-Scripts davon beeinflusst werden, wie viele Tabellen/Einträge darin ich in meinen Datenbanken habe.
Leider kenne ich mich was das angeht nicht wirklich mit mysql aus, deshalb meine Frage:
Werden meine php-Scripts immer langsamer, je mehr Einträge und Tabellen ich in meienr Datenbank habe, oder ist das völlig unerheblich?
vielen Dank im Voraus.
Bildunsglücke (Der name hat mit diesem Problem nichts zu tun ) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
hallo bildungslücke (geiler name^^)
ich hatte mal eine datenbank mit ca 16000 einträgen, script lief dadruch trotzdem nicht langsamer
es wird allerdings natürlich langsamer, je mehr mysql abfragen du machst (je abfrage ca 1 ms)
greetz -
sun-flash schrieb:
hallo bildungslücke (geiler name^^)
ich hatte mal eine datenbank mit ca 16000 einträgen, script lief dadruch trotzdem nicht langsamer
es wird allerdings natürlich langsamer, je mehr mysql abfragen du machst (je abfrage ca 1 ms)
greetz
Danke erstmal (Ja, der Name gefällt mir auch ^^ )
Also kann ich in die Datenbank soviel reintun wie ich will, solange ich darauf achte, dass nicht zuviele Anfragen gleichzeitig gestellt werden, habe ich das richtig verstanden?
Wenn ich jetzt also zwei verschiedene Tabellen nacheinander (im Script nacheinander) UPDATE, dauert das dann also so ca. 2ms, ist das richtig?
-
Wenn ich also mehr ANfragen starte, in denen ich keine id habe, weil z.B. nach einem eingegebenen BEgriff gesucht werden soll, dann wird meine Seite langsamer.
Kann man das irgendwie beschleunigen?
(ich weiß dumme Frage, aber würde mich schon einmal interessieren) -
Felder nach denen gesucht wird ( die in einem WHERE clause stehen ) sollten indiziert werden -> sonst langsamer je mehr Zeilen in der Tabelle.
also bei besagter 16000er tabelle hatte ich eine WHERE abfrage mit drei bedingungen (keine als index) und ich hab nix vom geschwindigkeitsverlust bemerkt...na gut war auch immer nur eine einzelne abfrage....
ja, index setzten:P
was hast du denn vor dass du mehrere (gehe jetzt mal von vielen aus) begriffs suchen durchführen willst??? (wenn man fragen darf???) -
Wir haben firmenintern am jahresende Datenbanken, die um die 1 Millionen Datensätze umfassen.
Wenn du hier nicht indizierst, hilft dir auf Dauer auch das beste System nicht.
Also möglichst einen Index setzen und deine Abfragen so definieren, dass sie nicht zu viele Datensätze untersuchen muss.
Am besten währe es natürlich, wenn sie überhaupt nur einen einzigen Datensatz auslesen muss.
Wenn du Suchkriterien und Tabellennamen angibst, kann ich dir auch gerne mit den Abfragen behilflich sein.
Beitrag zuletzt geändert: 13.3.2010 16:45:11 von adelwoehrer -
16000 Datensätze sollte man noch im Kopf behalten können
da braucht man noch keine Datenbank, da reicht eine TEXT Datei aus ...
Ohne Sch.... große Tabellen haben schon ein paar Millionen Datensätze.
Speziell bei der Suche nach Text hat der Index gewaltige Auswirkungen.
Es kann den Unterschied zwischen 2 Sekunden (mit Index) und 2 Stunden (ohne Index) ausmachen.
Je nachdem wie kompliziert die Suche ist.
Wenn man z.B. über mehrere Tabellen geht mit JOIN usw... -
ne saudumme frage:
gilt des auch für PHPFuson .. sorry was des angeht bin da ent soo gut.
weil wenn ich was erstekle (teamliste z.B.) braucht er ca 3 sec ... ok 3 sec gehen schon aberfinde es schöner max 1,5 sec bis die seite da ist.
Was kann man ändern damit es besser geht -
Also Datenbanken ohne Index zu verwenden ist etwa so wie ein Telefonbuch ohne alphabetische Sortierung zu nehmen.
Bei etwa ein bis zwei Seiten mag das noch gehen.
Das Telefonbuch einer Stadt ohne alphabetische Sortierung......
EY! Das ist nur zur Verdeutlichung. Ich weiß selbst, dass heute fast niemand mehr ein Telefonbuch verwendet. Allerdings kennt noch fast jeder eines..... -
Das bisher genannte Stimmt nur Teilweise.
PHP ist die größe der Datenbank egal aber der Datenbankserver benötigt bei wachsenden Tabellen länger um bestimmte Abfragen auszuführen!
Auch die Gestaltung der Abfragen ist im wesentlichen Entscheident für die Länge der Ausführung.
Wenn man einfach SELECT * FROM Tabelle nimmt, obwohl man nur einen bestimmten Datensatz such, geht das bei einer kleinen Tabelle zwar schnell, jedoch wird dies natürlich mit wachsender Datenbank langsamer, da immer alle Ergebisse geliefert, übertragen und verarbeitet werden müssen.
Das Wichtigste sind also die Abfragen selbst und nicht PHP.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage