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