Mailinglisten-Archive |
Hallo Liste,
für ein Projekt stehen nun nach fast einjährigem Bestehen der Website
grössere Umbauarbeiten an, da das Projekt mit der Zeit immer weiter
gewachsen ist und auch die MySQL Datenbank immer wieder neue Tabellen
bekam.
Mittlerweile habe ich in meiner MySQL DB fast 30 Tabellen und viele
sind sehr ähnlich aufgebaut. Ich möchte diese ähnlichen Tabellen nun
irgendwie zusammenfassen, um mir auch bei den Skripten in PHP
überflüssige Arbeit zu ersparen.
Die Tabellen, die ich gerne zusammenfassen würde, sind mehr oder minder
wie folgt aufgebaut. Hier nur zwei Beispiele.
Tabelle 1 (Kategorien):
=======================
kat_id int(8)
kat_vati int(8)
kat_name varchar(32)
Tabelle 2 (Regionen):
=====================
reg_id int(8)
land_id int(8)
reg_name varchar(32)
Es gibt immer einen eindeutigen Primärschlüssel (kat_id, reg_id), eine
Bezeichnung (kat_name, reg_name) und eine ID, die entweder auf eine
andere Tabelle verweist (Tabelle 2, land_id) oder auf einen anderen
Eintrag aus der selben Tabelle (Tabelle 1, kat_vati). Die zweite ID
verweist im Prinzip immer auf einen hierarchisch übergeordneten Eintrag
aus der gleichen bzw. einer anderen Tabelle.
Diese neue Tabelle, die alle möglichen Tabellen zusammenfassen soll,
stell ich mir in etwa so vor:
Tabelle neu:
============
kat_id int(8)
kat_vati int(8)
kat_name varchar(32)
kat_typ int(2)
Hierbei kann kat_typ z.B. eine 1 für Kategorien oder ein 2 für Regionen
aufnehmen. Auf den kat_typ würde ich natürlich einen Index setzen usw.
Diese Tabelle würde natürlich um einiges voller werden.
Gibt es hierbei evtl. Performanceprobleme, wennn sehr viele lesende
Vorgänge parallel auf diese Tabelle zugreifen, auch wenn immer mit
einem indizierten kat_typ gelesen werden würde?
Wenn bei einem kat_typ auch andere Felder benötigt werden, z.B. Counter
oder ein Datum, welche nicht für alle kat_typen gebraucht werden,
sollte man diese lieber doch in einer anderen Tabelle verwalten?
Ich hoffe, ich habe mich einigermassen verständlich ausgedrückt, und
wäre für ein paar Meinungen von euch sehr dankbar.
Gruss,
Ralf
--
__________________________________________
In-Greece.de - die Griechenlandcommunity
_______ http://www.in-greece.de/ _________
---
*** Weitere Infos zur Mailingliste und MySQL unter http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive