Autor Beitrag
Sebastian1979
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 04.11.04 09:19 
Ich schreibe ein Tool mit dem man große Notizen erfassen soll.

Mehrere Kollegen schreiben hier den ganzen Tag Texte rein!

Wenn ich jetzt diese Tabelle (id:int, text:blob) über ttable lade und bearbeite sinkt die Geschwindigkeit, oder???

Werden da immer die ganzen Daten aus der Tabelle geladen oder nur die ersten x Zeichen meines BLob Feldes???

Gibt es eine Möglichkeit nur das Blob mit einer bestimmten Id zu laden, und zu schreiben ohne eine TTable Komponente zu verwenden???
jaevencooler
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 166
Erhaltene Danke: 6

MS-DOS,Win32, Win95, Win 98, Me,XP, Linux, NT4.0, NT 2000-2008, Vista, Windows 7
Turbo Pascal,D1 Enter,D2 Enter,D3 Enter,D5 Enter, Kylix, D2007, PL/SQL, MS/SQL, Delphi 2010, Delphi XE
BeitragVerfasst: Do 04.11.04 10:20 
Guten Morgen,

wie wärs mit nem TQuery, ist so oder so schneller als TTable
und einem SQL - Statement, etwa so:

select text from <<Datenquelle>>
where id = xyz



Auf welcher Datenbank arbeitest du ???
Vielleicht würden auch direkte Datenzugriffe
ein bischen mehr Performance bringen. Mit TTable und TQuery benutzt Du ja wohl noch die
allseits geschätzte BDE. :roll:

Cu
Michael
Sebastian1979 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Do 09.12.04 13:48 
Hi,

erst mal möchte ich mich entschuldigen.
Es ist normal nicht meine Art Fragen zu posten und mich dann nicht mehr zu melden!

War Uni technisch ziemlich eingespannt.

So:

Ich arbeite mit Dlephi 7 und MS SQL Server

Ich verwende einen ODBC Treiber.

BDE wird nicht weiter verwendet.
Lege aber nicht die Hand dafür ins Feuer das es auch ohne ging. :-)

Es geht um das grundlegende Problem mit großen Texten.

Ich vermeide im Allgemeinen die TTable Komponenten zu verwenden da hier immer die Ganze Datenmenge übers Netz geschaufelt wird und das eben sehr störend und langsam ist.

Was ich aber nicht hinbekomme ist über eine Query Komponente mit Texten (Streams) zu arbeiten.

Meine Frage ziehlt also darauf ab, wie bekomme ich eine performante Lösung um beliebig große Texte in eine DB zu schreiben?
Mal von 100 Einträgen ausgehend.
(Gibt es nicht, aber mal vom schlimmsten Fall ausgehend!)


Hoffe das beschreibt mein Problem soweit, danke.
Robert.Wachtel
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 895
Erhaltene Danke: 7

Windows 7 Ultimate x64
D5 Ent, D7 Arch, RAD Studio 2010 Pro, VS 2008
BeitragVerfasst: Do 09.12.04 13:53 
Sebastian1979 hat folgendes geschrieben:
[...] Ich arbeite mit Dlephi 7 und MS SQL Server [...]

In diesem Fall würde ich nach Möglichkeit den Einsatz von ADO bevorzugen - damit habe ich persönlich sehr gute Erfahrungen gemacht (und bereitet hier auch i.V. mit BLOB-Feldern keinerlei Probleme).
greg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 119

Windows2000, WindowsXP
D5 Prof
BeitragVerfasst: Do 09.12.04 14:16 
Hallo Sebastian,

wie versuchst Du denn auf die Inhalte zuzugreifen?

versuch es doch mal in der Form:
ausblenden Delphi-Quelltext
1:
Inhalt := Query1.FieldByName('Feldname').AsBlob;					


Der Vollständigkeit halber ... mit MS SQL hab ich es noch nicht probiert ... und die BDE ermöglicht Deiner Anwendung den DB-Zugriff über den ODBC-Treiber.

Gruß
Gregor
Sebastian1979 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 13.12.04 11:40 
Robert.Wachtel hat folgendes geschrieben:
In diesem Fall würde ich nach Möglichkeit den Einsatz von ADO bevorzugen - damit habe ich persönlich sehr gute Erfahrungen gemacht (und bereitet hier auch i.V. mit BLOB-Feldern keinerlei Probleme).


Das werde ich dann mal versuchen.
Wie schreibst Du Blob Felder?

greg hat folgendes geschrieben:

versuch es doch mal in der Form:
ausblenden Delphi-Quelltext
1:
Inhalt := Query1.FieldByName('Feldname').AsBlob;					


Das Lesen hatte mir keine Probleme gemacht.
Es ging mir nur darum nicht über eine TTable Komponente zu arbeiten.

Habe ne Weile nicht mit Delphi programmiert!!!
Ich hatte aber die Erfahrung gemacht dass das Arbeiten sehr langsam wird wenn man große Datenmengen über die TTable Komponoente verarbeitet.

Wollte deshalb eine Query Komponente verwenden um eben nur in einer Zeile zu arbeiten.

Leider hatte mir da Delphi immer gemekert!
Beim schreiben von Blobs!!!

Wie schreibst Du die Blobs in die Tabelle???

Danke schon mal, Sebastian.