seth: Architektur- und Performance-Frage

Beitrag lesen

gudn tach Fraenk!

[nur zur ersten frage]
ich bin zwar auch nicht so der db-held, aber vermute, dass 500000 kleine tabellen doof sind und dass je nach dem wie deine tabellen geartet sind, die folgende zweite oder dritte moeglichkeit geeigneter sein koennten:

1. moeglichkeit (so wie ich deine erste idee verstanden habe)

tabelle1 sehe z.b. so aus:
|ID|X|Y|Z|
|0 |*|*|*|
|1 |*|*|*|
|2 |*|*|*|
#zeilen=5e6

(* stehe fuer irgendeinen eintrag)

tabelle2
|ID|Relation|A|
|0 |0       |*|
|1 |1       |*|
|2 |1       |*|
|3 |1       |*|
|4 |2       |*|
#zeilen=5e6

2. moeglichkeit

besser waere evtl. (je nach struktur) eine gemeinsame tabelle

tabelle_neu
|ID |X|Y|Z|A1|A2|A3|A4|...|A100|
|0  |*|*|*|* |- |- |- |...|-   |
|1  |*|*|*|* |* |* |- |...|-   |
|2  |*|*|*|* |- |- |- |...|-   |
#zeilen=5e6
#spalten entsprechend vergroessert

(- stehe fuer NULL)

was die geschwindigkeit betrifft, sind solche grossen tabellen afaik oft das schnellste, verbrauchen dafuer allerdings einen haufen platz.

ausserdem ist hier die struktur nicht mehr soo flexibel.

3. moeglichkeit

eine weitere moeglichkeit, die ebenfalls stark von der struktur der realen gegebenen zusammenhaenge abhaengt, ist eine hybridloesung, also sowas wie

tabelle1
|ID |X|Y|Z|A1|A2|A3|A4|...|A30|
|0  |*|*|*|* |- |- |- |...|-  |
|1  |*|*|*|* |* |* |- |...|-  |
|2  |*|*|*|* |- |- |- |...|-  |
#zeilen=5e6

tabelle2
|ID|Relation|A|
|0 |42      |*|
|1 |65      |*|
|2 |65      |*|
|3 |247     |*|
#zeilen=? (strukturabhaengig)

so, vielleicht koennte mir nun noch jemand von den db-helden sagen, ob das, was ich hier geschrieben habe, einigermassen ok oder voelliger bloedsinn ist. in der bierdatenbank verwenden wir jedenfalls bzgl. der bier-geschmackseigenschaften (von denen es X fest vorgegebene "standard-"eigenschaften gibt, aber darueber hinaus beliebig viele zusaetzliche) so eine hybride form, da es um ein vielfaches(!) schneller ist als die 1. moeglichkeit.

prost
seth