![]() |
mySQL-fragen
ein paar fragen zu mySQL:
ist es sinnvoll, größere projekte mit mySQL zu machen (performance usw)? wie groß dürfen tabellen/datenbanken werden? wie sind eure erfahrungen mit mySQL? Grund für alles: ich soll über die ferien ein relativ großes projekt ausführen und PHP+mySQL ist das einzige in die richtung, was ich bis jetzt kann. sonst müsst ich umlernen und ich weiß noch nicht auf was. |
Es gibt MySql-Datenbanken die haben 2-3 GB Daten in sich und laufen wie ein Glockerl.
Vorraussetzung ist natürlich eine dementsprechende Hardware, viele Rams und eine schnelle Platte. MySql verbraucht ca 1-5 MB Ramspeicher pro User und Prozess. Performanz: Kannst du sehr beeinflussen mit deinen Tabellen. Fazit: Tausende Einträge sind kein Problem,das Forum hier läuft ja auch tadellos. Sloter |
zitat:
Performanz: Kannst du sehr beeinflussen mit deinen Tabellen äh, wie meinen (genau)? vielleicht ein paar tips für den neuling *g* |
Ganz Einfach :)
Nehmen wir an du hast Userdaten (Name,Adresse,Telefon priv. usw..) Du verwendest aber die Datenbank damit du die Telefonklappe und das Kürzel von dem Mitarbeiter suchen kannst. Schlechte Möglichkeit: Alle Daten werden in eine Tabelle geschrieben Userdaten und Büronummer mit Kürzel. Es muß alles Durchsucht werden bis er die Büronummer findet. Gute Möglichkeit: 2 Tabellen Eine Tabelle mit den Benutzerdaten und eine Tabelle für das Kürzel mit der Telefonklappe. So muß nur die eine Tabelle mit 2 Spalten durchsucht werden. Kostet weniger Performanz als wenn alle Daten in einer Tabelle stehen, und x Spalten durchsucht werden. Leichteres Beispiel: Die Postings von dem Forum werden nicht in die selbe Tabelle wie die Userdaten geschrieben. Ich hoffe das war verständlich erklärt :) Sloter |
jaja, danke, das war klar, auf möglichst viele kleine tabellen verteilen.
kann man verknüpfungen oder so erstellen? und wenn ja, wie kauf mir eh morgen ein buch, dann hör ich mit den anfängerfragen auf *G* hab zwar shcon eine komplette seite auf sql rennen, allerdings ist das, wie soll ich sagen, zu einfach gewesen, dass ich es ganz glauben kann, dass das schon alles war |
Bei der Abfrage der Datenbank kannst du mehrere Tabellen gleichzeitig abfragen.
Sloter |
Viele kleine Tabellen ist auch nicht besonders gut.
Vernünftige Datenbankarchitektur ist gefragt :) Sloter |
ja, mehrere abfragen weiß ich auch schon, zwar noch nicht gemacht, aber ich weiß, dass es geht
und das mit der architektur werd ich hoffentlich hinkriegen *g* dein beispiel hab ich schon verstanden (nehm ich an), nicht alles in eine tabelle verpacken, sondern so weit wie möglich verteilen, ohne jedoch zusammengehörige daten aufzusplitten, um erstens übersicht zu behalten und zweitens eben die zugriffszeit zu verringern |
Bingo ?
So habe ich das gemeint :) www.php3-forum.de Ist zwar nicht das beste Forum, aber gut für den Start. Sloter |
danke,
mit dem hab ich php gelernt ;) ok, das wars fürs erste, genauere fragen kommen dann bei der umsetzung ;) |
Noch ein Tipp für flotte Datenbanken: Normalisierung!
Is zwar net so leicht, aber wenn viele Datensätze vorhanden sind (sein werden), sollte man sich damit schon ein bisschen außernandersetzen. Is eigentlich eh nix anderes als das sinnvolle aufteilen der Datenbank. Hamma heuer ein bissi in der Schule gemacht. Aber eigentlich immer nur theoretisch. Wie's praktisch funktioniert, kann ich dir auch nicht sagen, weil ich sie noch nie angewendet hab. ;) Aber such mal bei Suchmaschinen nach Normalformen und Normalisierung, wirst sicher einiges finden. Es gab auch schon mal einen Thread darüber, wo ich damals nach Links zur Normalisierung gefragt habe. Such einfach mal nach Normalisierung, im Programmier-Forum - da solltest meinen Beitrag finden. :) Also noch mals kurz gesagt, solltest dir ein Konzept überlegen, wie du die Datenbanken anlegst. Als kleine Hilfe dafür würd ich mir halt ein paar Sachen über Normalisierung und Normalformen durchlesen. Aja, und vielleicht noch 2 hilfreiche Links: www.mysql.com http://www2.little-idiot.de/mysql/(da steht auch schon was für Normalisierung drinnen...) |
Ich würde dir empfehlen dich ein bissl in den "Entwurf relationaler Datenbanken" einzulesen. Das ist ein überaus interessantes und auch sehr wichtiges Thema. Wenn du große, schnelle und gute Datenbanken entwerfen willst kommst daran nicht vorbei. Da kommt dann alles vor von Datenredundanz (Sloter hat das schon in etwa angesprochen- hier muß man die Tabellen dann aufteilen) vermeiden (d.h. dieselben Daten sind in mehreren Tabellen gespeicht also doppelte Informationen-Sloter hat das schon in etwa angesprochen- hier muß man die Tabellen dann aufteilen) über die Tabellenverknüpfung mit Schlüsseln (Primär und Fremdschlüssel) bis hin zu den Normalisierungsstufen (sind mir teilweise noch ein Rätsel *g*)! Also ein Bücherl über dieses Thema wäre schon empfehlenswert! Hoffe ein wenig geholfen zu haben!
|
nicht vergessen jede datenbank egal wie gross beginnt am papier, also nicht wie ein trottel reintippen sonder vorher nachdenken, ebenso wie redundanz vermeiden so gut als möglcih und das ganze mal anhand einiger kleinen beispieleinträge durchspielen um jede möglichkeit so gut wie möglich abfangen
|
| Alle Zeitangaben in WEZ +2. Es ist jetzt 23:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag