AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Richtext lädt langsam in Tabelle

Ein Thema von oakley · begonnen am 30. Jul 2019 · letzter Beitrag vom 2. Aug 2019
Antwort Antwort
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#1

Richtext lädt langsam in Tabelle

  Alt 30. Jul 2019, 19:51
Hallo zusammen,

ich lade via UniDac einen Richtext aus einer MariaDB Tabelle in die Spalte eines cxGrids von DevExpress. Je mehr ich lade desto langsamer wird es.
Bei 8-10 Datzsätzen ist es noch erträglich aber irgendwann wird es unerträglich langsam.

Wenn ich an Stelle des Richtext Plaintext, lade geht es wesentlich schneller und wird am Ende des Ladevorgangs der Datesätze auch nicht langsamer.

Codeechnisch benutze ich nichts besonderes:
Normale SQL Abfrage:
Code:
"SELECT * from testtable" .
Zum Laden der Datensätze:
Code:
while not MFORM.UniQuery1.EOF do
begin
  TESTGRIDVIEW.DataController.AppendRecord;
  TESTGRIDVIEW.DataController.Values[TESTGRIDVIEW.DataController.RecordCount-1, TESTCOL.Index] := MFORM.UniQuery1.FieldByName('RTF_TEXT').AsString;
  UniQuery1.Next;
end;
Weiß jemand woran das liegen könnte?

LG

Mirko
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Richtext lädt langsam in Tabelle

  Alt 30. Jul 2019, 20:00
Hallo,
wahrscheinlich wird der Eintrag im Grid sofort gerendert.
Gibt es da was wie BeginUpdate/EndUpdate?
Heiko
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#3

AW: Richtext lädt langsam in Tabelle

  Alt 30. Jul 2019, 21:04
Ja gibt es. Ich probiere es mal aus.
Danke für den Hinweis.

LG

Mirko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#4

AW: Richtext lädt langsam in Tabelle

  Alt 31. Jul 2019, 06:30
Moin...
Delphi-Quellcode:
while not MFORM.UniQuery1.EOF do
begin
  TESTGRIDVIEW.DataController.AppendRecord;
  TESTGRIDVIEW.DataController.Values[TESTGRIDVIEW.DataController.RecordCount-1, TESTCOL.Index] := MFORM.UniQuery1.FieldByName('RTF_TEXT').AsString;
  UniQuery1.Next;
end;
...diesen Part verstehe ich nicht. Was soll das mit der Schleife? ...Und AppendRecord? An das DevExpress Grid hängst du nur die Query...fertsch

PS: Das BeginUpdate/EndUpdate ist wichtig...
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Richtext lädt langsam in Tabelle

  Alt 31. Jul 2019, 06:34
Hallo,
Zitat:
Was soll das mit der Schleife?
er baut das Grid doch somit auf.

Was mir aber noch aufgefallen ist:
MFORM.UniQuery1.EOF
UniQuery1.Next;

also mal mit und ohne Form-Variable.
Ich würde die beim EOF auch weglassen.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.289 Beiträge
 
Delphi 12 Athens
 
#6

AW: Richtext lädt langsam in Tabelle

  Alt 31. Jul 2019, 06:37
Zitat:
er baut das Grid doch somit auf.
Das macht das Grid von alleine.
Daten lesen aus der DB, Query dem Grid zuordnen. Fertig! ...KEINE Schleife und KEIN AppendRecord!
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Richtext lädt langsam in Tabelle

  Alt 31. Jul 2019, 09:17
Schau dir mal in der Datenbank den rohen RTF Text an. Wir hatten schon mal das Problem dass wir 4MB RTF in der DB hatten für 5 Wörter Text, weil die RTF Komponente bei jedem Laden/Speichern neue RTF Steuerzeichen eingefügt hat. Und dadurch hat es ewig gedauert manche Datensätze zu laden.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#8

AW: Richtext lädt langsam in Tabelle

  Alt 2. Aug 2019, 16:52
Danke für eure Hilfe... es war BeginUpdate bzw EndUpdate.
Das brachte den erhollften Speed

LG

Mirko
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz