AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler
Thema durchsuchen
Ansicht
Themen-Optionen

Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

Ein Thema von nit · begonnen am 30. Jan 2024 · letzter Beitrag vom 5. Feb 2024
Antwort Antwort
Seite 1 von 2  1 2      
nit

Registriert seit: 21. Feb 2014
11 Beiträge
 
#1

Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 12:27
Datenbank: Firebird • Version: 3 • Zugriff über: IBDAC
Hallo an alle,
wir nutzen Firebird 3 und von Devexpress den Kalender TcxScheduler und haben ein Geschwindigkeitsproblem.
In der Tabelle sind etwas 10013 Datensetze vorhanden und die Abfragezeit liegt bei ca. 23 Sekunden.

Die SQL-Abfrage lautet:
SELECT * FROM KALENDAR WHERE FINISCH>:von AND (AUFGABE<>1 OR AUFGABE is NULL) OR (TYP>0);

Hat jemand eine Ideen, wie man dies schneller machen kann?

Ein Index auf die Spalte FINISCH haben wir auch versucht, aber eine Geschwindigkeitserhöhung nicht feststellen können.
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
380 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 12:50
Und die anderen beiden Spalten waren ebenfalls indexiert?

Schon einen kombinierten Index über alle drei abfragerelevanten Spalten versucht?
  Mit Zitat antworten Zitat
Benutzerbild von ULIK
ULIK

Registriert seit: 25. Sep 2006
Ort: Regensburg
427 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 12:59
Code:
WHERE FINISCH>:von AND (AUFGABE<>1 OR AUFGABE is NULL) OR (TYP>0)
Ist das AND / OR richtig geklammert? Bzw. wie erwartest Du daß es wirkt und tut es dann das auch (gerade in Bezug auf Typ>0)?
  Mit Zitat antworten Zitat
nit

Registriert seit: 21. Feb 2014
11 Beiträge
 
#4

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 15:40
Es ist ein OR in der Klammer.

Das Ergebnis mit den Testdaten ist richtig, außer es ist Zufall und die Abfrage greift doch nicht.

In der Tabelle werden auch Aufgaben gespeichert. Die Aufgabendatensätze werden immer in der Spalte AUFGABE=1 markiert. In der Spalte mögliche Werte sind 1,0 oder NULL.
Die Spalte Typ gibt an laut der Devexpress, ob der Termin ein Serientermin ist. Die Serientermine können auch kein Ende (FINISCH) haben.
Als Abfrage brauche ich die Datensätze wo ende (FINISCH) größer ist als z.B. 01.01.2024 und keine Aufgabe ist oder einfach wo Typ=1 (Serientermin) ist.

So, denke ich, werden alle relevanten Termineinträge aus der Tabelle geholt.
Andere Abfragevarianten gern willkommen.
  Mit Zitat antworten Zitat
nit

Registriert seit: 21. Feb 2014
11 Beiträge
 
#5

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 15:44
nein, es ist nur die Index auf die Spalte Finish.

Ich versuche es gleich mal mit dem kombinierten Index.
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 16. Dez 2005
Ort: NRW
236 Beiträge
 
Delphi 12 Athens
 
#6

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 15:47
Bei nur 10.000 Datensätzen spielen Indizes keine große Rolle. Zumindest meine Erfahrung mit Oracle, MSSQL und PostgreSQL
Das Problem wird an einer anderen Stelle liegen.
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 15:52
Der DX-Sheduler ist aber auch nicht wirklich die schnellste Komponente.
Und lokal sind DB-Indize dann auch nicht mehr von Relevanz.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von IBExpert
IBExpert

Registriert seit: 15. Mär 2005
679 Beiträge
 
FreePascal / Lazarus
 
#8

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 15:55
was für eine hardware setzt du für firebird ein? auf eine tabelle mit 10013 datensätzen
ist die struktur der indizes eigentlich ziemlich egal, es sollte niemals irgendwas 23
sekunden brauchen, auch nicht komplett ohne indizes. Wenn die Tabellen struktur
sehr viele lange varchar felder hat könnte es wegen dem temp sort file ggf länger
brauchen aber alles mehr als eine sekunde ist mir da völlig unklar.

hast du mal mit einem tools deiner wahl bei dem sql den plan ermittelt und den
inhalt ohne den Kalender angefragt, möglichst mit fetchall?

weil wenn der kalender das sql ausführt, aber 23 sekunden bis zum malen des kalenders
braucht liegt das problem ganz woanders.

evtl kannst du ja mal die metadaten der tabelle hier posten (und manche tools haben eine
trace api log funktion, mit der man auch sehen kann was firbeird da sonst noch so veranstaltet,
so manch ein computed index kann auch eine katastrophe sein
Holger Klemt
www.ibexpert.com - IBExpert GmbH
Oldenburger Str 233 - 26203 Wardenburg - Germany
IBExpert and Firebird Power Workshops jederzeit auch als Firmenschulung
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#9

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 17:24
die Abfragezeit liegt bei ca. 23 Sekunden.
Ist es wirklich die Abfragezeit oder die Zeit zum Aufbau des Content?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
nit

Registriert seit: 21. Feb 2014
11 Beiträge
 
#10

AW: Geschwindigkeitsproblem mit Firebird und Devexpress Kalender TcxScheduler

  Alt 30. Jan 2024, 20:50
Die reine Abfragezeit ist zwischen 160-220 Millisekunde und hat 8552 Datensätzen als Ergebnis bei nicht verbundener Query-Komponente.

Das Problem liegt irgendwo in der SchudulerDBStorage, sobald der Query-Komponente als Dataset hinterlegt wurde. Ist die gleiche Abfrage bei ca. 23 Sek.

Werde ich mal nächste Woche weitertesten, weil andere Baustellen höher priorisiertet sind.

Danke für die Ideen und Hilfe.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:56 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