Hi Mario

Am 18.03.10 06:35, schrieb Salvalaggio Marino:

> ..... Das verkürzt die Wege wesentlich.

Nochmal: Datenbanken funktionieren nicht so!
Du hast keinen Einfluss auf die Indexierung - es sei denn Du
programmierst die Engine selbst.
/Du/ greifst ja gar nicht auf die Daten zu - Du sagst nur der engine,
welche Daten Du haben willst und /die/ fischt sie dann 'raus.

Und wenn Du durch die Datenbank auf einen Datensatz zugreifst, ist der
Inhalt selbst für die Transaktionsgeschwindigkeit ziemlich egal - die
Zeit zum Ausliefern ist davon unabhängig (außer bei sehr großen
Datenmengen - Fotos z.B - wo natürlich die Zeit zum Lesen der Daten noch
hinzukommt). Grob würde ich 'mal schätzen: Alles, was unter der
Blockgrösse der Speicherverwaltung Deines Rechners bleibt, sollte da
gleich schnell sein, egal, um was es sich handelt.

> ...Ich habe die Erfahrung gemacht, das eine Datenbank oder Datenhaltung in
> Steuerungen, bei der im Kopf schon diversifiziert wird, für spätere
> Anfügungen viel einfacher zu Handhaben ist. Insbesondere überläuft der
> Speicher nicht unerwartet.

Bei 30 MB Gesamtdatenmenge??? na ja. Aber ansonsten s.o.


> Der Nachteil ist natürlich, dass Arrays in den meisten Systemen nicht zu
> Laufzeit reserviert werden können und die Struktur eines Arrays irgendwo
> klar aus definiert sein muss; da ja die Indexe keine Aussage über die
> Daten her geben. 

??? In einer Datenbank??

Die Gedankenarbeit muss daher vor dem Anlegen
> geschehen! Wenn ich also die Variablenbezeichnug in der Tabelle festlege
> und die Synonymnummer als Index benutze, muss ich nicht eine zusätzliche
> Tabelle über den Indexschlüssel anlegen - faul ist der Mensch :-P .

Vielleicht denkst Du auch daran, dass das hinterher noch jemand außer
Dir nachvollziehen soll :-) s.u.
Hast Du Dir das Sternschema 'mal angeschaut? Das wäre Doch ziemlich das,
was Du suchst.
Und die Indextabellen solltest Du anlegen, (genauer: von der Datenbank
anlegen lassen) sonst brechen Deine Zugriffe sehr schnell ein, siehe
ganz oben: Datenbanken funktionieren nicht so! Du hast nichts außer dem
"Select" - Statement zum Zugreifen auf die Daten; und die Variablennamen
werden von der Engine intern eh umcodiert.
Kurz: Du programmierst nicht eine von Dir irgendwie zu beeinflussende
Datenhaltung, sondern gegen eine Datenbank-engine - und SQL ist die
einzige API dafür (und die wird zu allem Übel nie vollständig von einer
engine implementiert).


> ...Ich bin dabei, die Struktur mal Graphisch darzustellen. Nur weiss ich
> nicht, wie ich das Euch dann das sichtbar machen kann (Anhänge verboten
> :-! )

Den Link kannst Du ja hier veröffentlichen. Wenn Du keinen Webspace zum
Upload hast, frag' einfach hier nach.


> Ich habe hier den unbestreitbaren Vorteil, dass ich via OPC auf einem
> zusätzlichen Rechner problemlos eine Client starten kann, in welchem 
> Base einfach mit läuft. So kann ich Daten in die Datenbank polen bis das
> Ding, wens den sein soll, abschmiert! Wenn ich jeden Tag kurz einen
> Blick darauf werffe, werd ich sehr bald sehen, wo Probleme auftreten.
> Dazu kann ich ständig neue Strukturen oder Funktionen testen. Da die
> Datenhaltung ja nur fiktiv ist.

Solange Du da nur Daten 'reinwirfst, wird erstmal wenig passieren. Nur
die Zeiten zum Auslesen eines bestimmten Datensatzes werden wachsen -
aber nicht linear, sondern sehr wahrscheinlich in Sprüngen bei
Überschreiten bestimmter Grenzen (angeblich ist bei ca. 2.000
Datensätzen in der Tabelle so eine).

Wenn Du das einigermaßen dokumentierst könntest Du das ja irgendwann mal
dem Projekt als Benchmark-Dokumentation zur Verfügung stellen.
-- 
Mit freundlichen Grüßen

Uwe Altmann

OpenOffice.org auf dem Mac:
http://porting.openoffice.org/mac/

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Antwort per Email an