| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Neuer Benutzer Registriert seit: 28.10.2009
Beiträge: 13
PHP-Kenntnisse: Anfänger ![]() | Ahhhh! =D D.h. Daten die bsplw. bei jedem Profilbesuch aufgerufen werden in gesplittete Tabellen geschrieben. So muss in der DB keine Tabelle mit 10 Spalten und 4000 Einträgen durchsucht werden. Demnach ist es besser diese Informationen in eine Performance Tabelle zu schreiben die z.B nur 5 Spalten hat. Ist eigentlich logisch. Vielen Dank für die interessanten und vorallem nützlichen Informationen! Hat noch jemand einen Tipp den er mir mit auf den Weg geben kann bevor ich die DB designe? lieben Gruß! |
| | |
| | ||
| Erfahrener Benutzer | Zitat:
Bevor du also sagst, ich würde hier Scheiße erzählen, lern erst einmal was über Datenbank-Design und Normalisierung. User-Tabelle: Primärschlüssel User-ID Attribut-Tabelle Variante 1: Primärschlüssel und Foreign-Key User-ID, Haufenweise Spalten für die Attribute Attribut-Tabelle Variante 2: Primärschlüssel Attribut-ID, Foreign-Key User-ID, Char Attribut-Name, Char Attribut-Value, Unique key User-ID+Attribut-Name Wo hast du da Platz (und sinnvolle Verwendung) für eine Kreuztabelle? Kreuztabellen bilden in der Regel n:m Beziehungen ab und hier gibt es keine. Bestenfalls kann man ein einzelnes Attribut, wie beispielsweise den Wohnort als n:m Beziehung verstehen. Wobei es aber eine zusätzliche Tabelle "Ort" gäbe und die Tabelle "Attribut" als Kreuztabelle verstanden werden kann. Bzgl. der Performance: Ausprobieren. So pauschal gibt es da keine Antwort. In jedem Fall solltest du dir einige Grundregeln dabei beherzigen und das bedeutet: VarChar-Felder und Blob/Textfelder drücken die Performance vor allem, weil das DB-System da bzgl. der Datensatzlängen u.U. jonglieren muss.
__________________ www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih | |
| | |
| | |
| da schreibt der ElePHPant Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Wenn du für 4000 Einträge planst, sogar wenn du unter 50 000 bleibst, würde ich alle Informationen in einer Tabelle speichern. Damit hast du weniger Aufwand beim programmieren (brauchst keine JOINs, musst nicht zwei Tabellen updaten etc.). Über die Performance solltest du dir noch keine Gedanken machen. Erst wenn dein System wirklich Probleme bekommt kannst du überlegen die Tabellen aufzusplitten. Wenn du alle DB Abfragen in Models auslagerst (MVC) dann kannst du auch sehr leicht deine Tabellenstruktur aufsplitten ohne viele Änderungen am eigentlichen Code machen zu müssen. Ich selbst betreibe ein System mit rund 200 000 Usereinträgen mit rund 40 Spalten. Probleme mit der Performance treten bei der Usertabelle aber nicht auf, da kommen ganz andere Fehlerquellen viel eher. Also mach dir darum erstmal nicht so einen großen Kopf, programmiere lieber dein System sauber, dann kannst du später an der Performance drehen (falls es überhaupt nötig wird, bei kleinen Hobbyprojekten eher selten der Fall!) |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Datenbankdesign für Onlineshop | jonSchmidt | Datenbanken | 1 | 24.07.2009 18:41 |
| Datenbankdesign für Benutzerprofil | root66 | Software-Design | 1 | 11.06.2009 23:43 |
| [Erledigt] Komplexer SELECT (in relationalem Datenbankdesign) + Literaturempfehlung | lordnikonkg | Datenbanken | 4 | 29.04.2009 23:10 |
| [Erledigt] Datenbankdesign: "Freundschaftsnetzwerk" | phyton | Software-Design | 15 | 04.10.2008 13:28 |
| Datenbankdesign mit wiederholung | shocky | Datenbanken | 2 | 15.01.2007 15:37 |
| Datenbankdesign: Reloaded | c-f-g | Datenbanken | 7 | 29.07.2006 17:24 |
| [Erledigt] [SQL] Datenbankdesign | Datenbanken | 5 | 12.04.2005 08:30 | |
| Datenbankdesign für Shop mit unterschiedlichen "Typen&a | PHP Tipps 2005 | 27 | 20.01.2005 16:06 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php kreuztabelle, kreuztabelle normalisierung, normalisierung kreuztabelle, datenbankdesign performance, performantes datenbankdesign, kreuztabelle normalisieren, sql kreuztabelle design performance, datenbank design kreuztabelle, kreuztabelle php, normalisierung einer kreuztabelle, datenbanken kreuztabelle normalisieren beispiel, unterschiedlichen datensatzlängen normalisieren, kreuztabelle design, kreuztabelle sql, datenbankdesign kreuztabelle, kreuztabelle, grundregeln datenbankdesign, datenbankdesign tabelle mit unterschiedlichen attributen, datenbank tabellen performance, datenbankdesign wichtige attribute benutzer |