Allgemeine Fragen zu ADS und ADT
Moderator: Moderatoren
-
- Rekursionen-Architekt
- Beiträge: 199
- Registriert: Mo, 15. Apr 2019 16:19
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 4 Mal
Allgemeine Fragen zu ADS und ADT
Hallo Kollegen,
Ich würde gerne von euch wissen ob ihr bei Serveranwendungen die Tabellen eher geöffnet lässt oder sie dann aufmacht wenn sie gebraucht werden.
Weiter würde mich interessieren wieviel Spalten ihr maximal in eine Tabelle packen würdet, also ab wann es "zu viele" sind.
Wwr arbeitet denn alles mit der ADSDBE und gibt es hier irgendwelche Dinge zu beachten? Bin in diesem Thema Anfänger.
Ich würde gerne von euch wissen ob ihr bei Serveranwendungen die Tabellen eher geöffnet lässt oder sie dann aufmacht wenn sie gebraucht werden.
Weiter würde mich interessieren wieviel Spalten ihr maximal in eine Tabelle packen würdet, also ab wann es "zu viele" sind.
Wwr arbeitet denn alles mit der ADSDBE und gibt es hier irgendwelche Dinge zu beachten? Bin in diesem Thema Anfänger.
Gruß Dominik
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: Allgemeine Fragen zu ADS und ADT
Ich kann hier nur für mich sprechen:
- Ich öffne Tabellen nur dann, wenn ich sie benötige. Tabellenöffnen ist kein kritischer Zeitfaktor. Wenn es viele sind kann man AdsCacheTables Wert hoch setzen. Siehe Doku
- Ich habe Tabellen (ADT) mit über 200 Spalten, aber das ist meiner Erfahrung nach auch kein zeitkritischer Faktor.
- eher ist die Größe einer Tabelle ein Kriterium, und auch wieder im Zusammenspiel mit der Leistung des Servers. Dateien mit über 4 GB gibts öfter
- Die ADSDBE verwende ich nicht, da nicht alles von ADT unterstützt wird. Ich vermisse hier die Rawkey Indices, welche bei ADT die Abfragen enorm beschleunigen. Ich nehme AdsClass++
- Ich verwende seit über 20 Jahren nur noch ADT und später mit ADD und bin zufrieden, es gab nie Probleme mit dem DBMS
- neue Projekte würde ich aber mit PostgreSQL angehen, nur so zur Info.
- Ich öffne Tabellen nur dann, wenn ich sie benötige. Tabellenöffnen ist kein kritischer Zeitfaktor. Wenn es viele sind kann man AdsCacheTables Wert hoch setzen. Siehe Doku
- Ich habe Tabellen (ADT) mit über 200 Spalten, aber das ist meiner Erfahrung nach auch kein zeitkritischer Faktor.
- eher ist die Größe einer Tabelle ein Kriterium, und auch wieder im Zusammenspiel mit der Leistung des Servers. Dateien mit über 4 GB gibts öfter
- Die ADSDBE verwende ich nicht, da nicht alles von ADT unterstützt wird. Ich vermisse hier die Rawkey Indices, welche bei ADT die Abfragen enorm beschleunigen. Ich nehme AdsClass++
- Ich verwende seit über 20 Jahren nur noch ADT und später mit ADD und bin zufrieden, es gab nie Probleme mit dem DBMS
- neue Projekte würde ich aber mit PostgreSQL angehen, nur so zur Info.
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
-
- Rekursionen-Architekt
- Beiträge: 199
- Registriert: Mo, 15. Apr 2019 16:19
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 4 Mal
Re: Allgemeine Fragen zu ADS und ADT
Hallo Marus,
vielen Dank für deine Antwort.
Vielleicht zeittechnisch nicht, aber wie sieht es mit dem Speicher aus? Kostet es nicht einiges an Speicher eine Tabelle zu öffnen?
Ich beschäftige mich erst seit ein paar Tagen mit der ADSDBE und ich muss sagen ich finde es ziemlich kompliziert und umständlich.
Aber vielleicht liegt es auch nur an meinem Unwissen.
Ich finde es zB sehr umständlich das ich alle Werte der Datenbank als Binary bekomme. (Alias->Feld) Ich muss also immer prüfen welchen Wert das Feld hat.
Ich fülle beispielsweise ein DataObject mittels object:key := Alltrim(Alias->Feld) und wenn nun mein Feld Null ist, rumpelt es.
vielen Dank für deine Antwort.
Vielleicht zeittechnisch nicht, aber wie sieht es mit dem Speicher aus? Kostet es nicht einiges an Speicher eine Tabelle zu öffnen?
Ich beschäftige mich erst seit ein paar Tagen mit der ADSDBE und ich muss sagen ich finde es ziemlich kompliziert und umständlich.
Aber vielleicht liegt es auch nur an meinem Unwissen.
Ich finde es zB sehr umständlich das ich alle Werte der Datenbank als Binary bekomme. (Alias->Feld) Ich muss also immer prüfen welchen Wert das Feld hat.
Ich fülle beispielsweise ein DataObject mittels object:key := Alltrim(Alias->Feld) und wenn nun mein Feld Null ist, rumpelt es.
Gruß Dominik
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: Allgemeine Fragen zu ADS und ADT
Wie soll ich das verstehen, du bekommst doch gültige Xbase Datentypen.das ich alle Werte der Datenbank als Binary bekomme
Es gibt den Schalter
SET NULLVALUE ON | off | <lToggle>
du solltest den ausschalten, um keine NUILL Werte zu bekommen. Dann darf es aber keinen Unterschied zu DBF geben
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
-
- Rekursionen-Architekt
- Beiträge: 199
- Registriert: Mo, 15. Apr 2019 16:19
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 4 Mal
Re: Allgemeine Fragen zu ADS und ADT
Super, ich wusste nicht das es so einen Schalter gibt.
Damit lösen sich einige umständlichkeiten sofort dir Luft auf.
Damit lösen sich einige umständlichkeiten sofort dir Luft auf.
Gruß Dominik
-
- Rekursionen-Architekt
- Beiträge: 199
- Registriert: Mo, 15. Apr 2019 16:19
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 4 Mal
Re: Allgemeine Fragen zu ADS und ADT
Ich finde die ADSDBE ist "relativ" langsam.
Kann das einer bestätigten?
Ich habe beispielsweise eine Tabelle die ca 200 Spalten hat und 250.000 Datensätze. Der USE Befehl dauert bei mir teilweise 3 Sekunden was bei Webabfragen wirklich unschön ist.
Der Server auf dem der ADS läuft ist jetzt auch nicht grade schwach auf der Brust.
Kann das einer bestätigten?
Ich habe beispielsweise eine Tabelle die ca 200 Spalten hat und 250.000 Datensätze. Der USE Befehl dauert bei mir teilweise 3 Sekunden was bei Webabfragen wirklich unschön ist.
Der Server auf dem der ADS läuft ist jetzt auch nicht grade schwach auf der Brust.
Gruß Dominik
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: Allgemeine Fragen zu ADS und ADT
Du kannst ja mal einen Vergleich starten, um einzugrenzen, wo der Flaschenhals ist,
Wie lange dauerts die Datei zu öffnen:
- im ARC
- mit VDBU, du kannst ja eine Trial testen.
Dabei kommt es auch drauf an, ob die Datei mit oder ohne Index angezeigt wird.
Jede Operation mehrmals, weil irgendwann liegt die Datei im Cache des ADS Servers, und das ist schneller als die erste Dateiöffnung.
Das erste Mal öffnen sagt am ehesten was über die Performance der Server Platten aus.
Es muss ja nicht unbedingt die ADSDBE sein, die die Performance ausbremst.
Wie lange dauerts die Datei zu öffnen:
- im ARC
- mit VDBU, du kannst ja eine Trial testen.
Dabei kommt es auch drauf an, ob die Datei mit oder ohne Index angezeigt wird.
Jede Operation mehrmals, weil irgendwann liegt die Datei im Cache des ADS Servers, und das ist schneller als die erste Dateiöffnung.
Das erste Mal öffnen sagt am ehesten was über die Performance der Server Platten aus.
Es muss ja nicht unbedingt die ADSDBE sein, die die Performance ausbremst.
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
-
- Rekursionen-Architekt
- Beiträge: 199
- Registriert: Mo, 15. Apr 2019 16:19
- Hat sich bedankt: 11 Mal
- Danksagung erhalten: 4 Mal
Re: Allgemeine Fragen zu ADS und ADT
Hallo Markus,
Ich arbeite normalerweise Mit der ACEServer() Klasse von Tobax.
Die brauch auch nur ca ein Zehntel der zeit für die selben Aufgaben.
Auch der ark ist schneller. Ich dachte vielleicht ist es allgemein bekannt das die ADSDBE einfach etwas langsamer ist.
Ich arbeite normalerweise Mit der ACEServer() Klasse von Tobax.
Die brauch auch nur ca ein Zehntel der zeit für die selben Aufgaben.
Auch der ark ist schneller. Ich dachte vielleicht ist es allgemein bekannt das die ADSDBE einfach etwas langsamer ist.
Gruß Dominik
- Marcus Herz
- 1000 working lines a day
- Beiträge: 852
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: Allgemeine Fragen zu ADS und ADT
Dann liegts doch an der adsdbe.
Aceserver und adsclass basieren auf direkten api calls. Sind sich da sehr ähnlich
Aceserver und adsclass basieren auf direkten api calls. Sind sich da sehr ähnlich
Gruß Marcus
Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Erkenne, was du findest, dann weißt du, wonach du gesucht hast