Einzelnen Beitrag anzeigen

arnof

Registriert seit: 25. Apr 2013
1.252 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#8

AW: TADOQuery.Open dauert manchmal 30sec..??

  Alt 5. Sep 2013, 09:18
Hi.

Der Befehl sieht so aus:

SELECT * FROM Allocations WHERE UserID IN (80006, 80015, 80082, 80092, 80025, 80026, 80135, 80043, 80133, 80080, 80059, 80061, 80064, 80066, 80131, 80138, 80013, 80002, 80139, 80140, 80148, 80031, 80030, 80147, 80034, 80145, 80111, 80125, 80046, 80124, 80048, 80053, 80120, 80142, 80132, 80146, 80149, 80141, 80123, 80038, 80040, 80054, 80143, 80101) AND (StartDate <= "201212312359") AND (EndDate >= "200901010000") AND (Type = 0) AND (BarType in (2)) ORDER BY UserID, StartDate

Auf UserID und StartDate liegen jeweils ein Index. Bei StartDate/EndDate nicht wundern, dass die ein String sind. Leider historisch bedingt...

Selbst wenn kein Index drauf liegen würden, erklärt das doch nicht die Differenz von ~150msec -> 30sek bei immer dem gleichen SQL-Befehl...?!?

Gruß,
Marc
Also Optiomiert ist was anderes .....

der Unterschied zwischen 30 sec und 150 msec ist der Cache ..... Bei erstenmal dauerts lange, wenn er das schon kennt und hat das im Cache dauert es nur die 150 msec
  Mit Zitat antworten Zitat