Einzelnen Beitrag anzeigen

HeZa

Registriert seit: 4. Nov 2004
Ort: Dortmund
182 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: SQL Update-Befehl viel zu langsam

  Alt 24. Dez 2013, 06:42
Du hast recht, dass ist erstmal nicht zu verstehen. Eigentlich ist das für mich nur durch das Neuladen des Treeviews zu erklären, aber das hast du ja bereits ausgeschlossen.

Falls du also schon die Zeit von vor dem Execute bis genau nach dem Execute (Ohne dem Refresh) gemessen hast, würde ich das ganze mit einem Testprojekt ohne Treeview, das nur das UPDATE absetzt ausprobieren. Ist der Zeitunterschied dann immer noch so groß, hätte ich die Zugriffskomponenten in Verdacht.

Um das Problem ganz anders zulösen (und auch viel schneller), kannst du ein neue Tabelle anlegen die immer genau einen Satz mit nur einem Feld "markiert" enthält, das drei Werte annehmen kann, nämlich nichts markiert (0), alles markiert (1), individuell (2). Beim SELECT joinst du die beiden Tabellen

SELECT
<andere felder von Berufe>,
IIF((bss.markiert = 2), b.markiert, bss.markiert) AS markiert
FROM
berufe b, berufeselektionsstatus bss

Beim klicken von "alles markiert" oder "nichts markiert" machst du nur das UPDATE auf berufselektionsstaus. Beim klicken der einer einzelnen Checkbox, machst du dein bisheriges UPDATE plus ein UPDATE auf berufselektionsstaus mit "markiert = 2".

Ciao Heinz Z.
  Mit Zitat antworten Zitat