toppy Geschrieben 17. Juli 2006 Teilen Geschrieben 17. Juli 2006 Vor dem Aufbau einer umfangreichen DB möchte ich mich gerne mit MySQL in technischer Sicht auseinandersetzen. Dabei interessieren mich jetzt weniger die Befehle etc. als vielmehr die Regeln/Tipps, um eine Datenbank "sauber" + performant aufzubauen. Kann mir da vielleicht jemand ein paar Tutorials oder auch Bücher empfehlen ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Joe Kinley Geschrieben 18. Juli 2006 Teilen Geschrieben 18. Juli 2006 Halt dich an die Normalenform fuer DAtenbanken Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
toppy Geschrieben 18. Juli 2006 Autor Teilen Geschrieben 18. Juli 2006 Halt dich an die Normalenform fuer DAtenbanken Mh, guter Tip Hab mal etwas in der Referenz-Doku von MySQL geschaut und dort gibt es ja auch einen Optimierungsteil. Da steht aber leider grob gesagt nur drinne, dass man immer den kleinstmöglichen Datentyp und die geeignete Tabellen-Engine verwenden soll. Dachte da gebe es vielleicht noch mehr Sachen, die man beachten sollte... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
NetWarrior Geschrieben 18. Juli 2006 Teilen Geschrieben 18. Juli 2006 Hi, bei SQL ist - wie mein Vorredner schon erwähnte - eingentlich nur empfehlenswert, die Normalformen (bis zur Dritten mindestens) einzuhalten / umzusetzen. Dass man sich vor der Modellierung der DB immer Gedanken machen sollte, welche Felder welche Datentypen enthalten werden ist eigentlich auch logisch. - je weniger speicherintensiv / verschwenderischer wird die DB später... Für die Normalisierung: http://de.wikipedia.org/wiki/Normalisierung_(Datenbank) Für die verschiedenen Datentypen in MySQL empfehle ich: http://dev.mysql.com/doc/ Hoffe es hilft ein wenig... Grüße Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
toppy Geschrieben 19. Juli 2006 Autor Teilen Geschrieben 19. Juli 2006 Na vielleicht stelle ich die Frage mal anders: Was hat denn eurer Meinung/Erfahrung nach einen (großen) Einfluss auf die Performance einer MySQL-DB ? Da gibt es doch sicherlich einiges was man schon bei der Konfiguration von MySQL an sich beachten sollte oder aber auch bei dem DB-Aufbau (Stichwort Indexes ?). Habt ihr dazu evtl. ein paar interessante Links ausser den "offiziellen" Dokus von MySQL ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
johnhaltonx Geschrieben 19. Juli 2006 Teilen Geschrieben 19. Juli 2006 Nun das kommt auf den Einsatzzweck an ... Was läuft auf der DB, wieviele User gleichzeitig, Batch processing oder OLTP-Abfragen ... Prinzipiell: RAM, CPU, I/O Kapazität sollten für die Aufgabe angemessen sein, wenn du referentielle Integrität brauchst INNODB Speicherengine nehmen. Dafür sorgen das die Applikationen nur soviel Arbeit machen wie nötig (vernünftige where Bedigungen, keine Karthesen, Indexe auf join/such-felder, select count(*) auf jeder Applikationsseite nur damit die gesamtzahl der records drinsteht ---> bäh ) das war das was mir auf anhieb eingefallen ist Die meisten Angaben sind aber DB unabhängig (komm eher aus dem Oracle Umfeld ) mal von der INNODB Engine abgesehen Gute seite/Buch zu Oracle, gibt aber einen guten Eindruck über DB entwicklung im allgemeinen: http://asktom.oracle.com is englisch und man muss ne menge lesen bis man ein Gefühl dafür kriegt wie as ganze funktioniert, aber die Informationen sind gut und auch gut durchsuchbar. Alternativ: Effective Oracle by Design, von TKyte, steht zwar Oracle im Buchtitel aber die Hälfte is Best Practices für DB Entwicklung und Administration allgemein, abgesehen davon das es auch noch gut geschrieben ist... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
toppy Geschrieben 20. Juli 2006 Autor Teilen Geschrieben 20. Juli 2006 Hab mal selber noch etwas gesucht und habe dabei die folgende Zusammenfassung von einem Vortrag von Michael "Monty" Widenius gefunden -> MySQL Presentations: Optimizing MySQL Vielleicht interessiert das Thema ja auch den einen oder anderen Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 20. Juli 2006 Teilen Geschrieben 20. Juli 2006 oder aber auch bei dem DB-Aufbau (Stichwort Indexes ?). Einen Index solltest du für alle Felder anlegen, über die du eine Bedingung für eine Abfrage definierst. Also alles was in der WHERE-Klausel bzw. beim JOIN bei ON... steht. Die Reihenfolge der Felder im Index sollte gleich sein mit der Reihenfolge in der Abfrage (bzw. umgekehrt). Außerdem empfiehlt es sich eh, für jede Tabelle ein unique ID Feld zu haben, welches dann der Primärindex ist. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.