Zum Inhalt springen

MySQL - Do's & Dont's


toppy

Empfohlene Beiträge

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 ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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...

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...