Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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 ?

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

Geschrieben

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

Geschrieben

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 ?

Geschrieben

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

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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

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