WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   mySQL-fragen (http://www.wcm.at/forum/showthread.php?t=25761)

Who-T 16.07.2001 17:45

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.

Sloter 16.07.2001 18:00

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

Who-T 16.07.2001 18:24

zitat:
Performanz: Kannst du sehr beeinflussen mit deinen Tabellen

äh, wie meinen (genau)?
vielleicht ein paar tips für den neuling *g*

Sloter 16.07.2001 19:17

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

Who-T 16.07.2001 19:22

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

Sloter 16.07.2001 19:24

Bei der Abfrage der Datenbank kannst du mehrere Tabellen gleichzeitig abfragen.

Sloter

Sloter 16.07.2001 19:27

Viele kleine Tabellen ist auch nicht besonders gut.

Vernünftige Datenbankarchitektur ist gefragt :)


Sloter

Who-T 16.07.2001 19:32

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

Sloter 16.07.2001 19:41

Bingo ?


So habe ich das gemeint :)

www.php3-forum.de
Ist zwar nicht das beste Forum, aber gut für den Start.

Sloter

Who-T 16.07.2001 19:48

danke,
mit dem hab ich php gelernt ;)

ok, das wars fürs erste, genauere fragen kommen dann bei der umsetzung ;)

renew 16.07.2001 19:56

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

dietz 17.07.2001 11:34

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!

pong 19.07.2001 13:50

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