AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Sortierfunktion für Treestruktur
Thema durchsuchen
Ansicht
Themen-Optionen

Sortierfunktion für Treestruktur

Ein Thema von Gruber_Hans_12345 · begonnen am 2. Mär 2007 · letzter Beitrag vom 6. Mär 2007
Antwort Antwort
Seite 2 von 2     12   
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#11

Re: Sortierfunktion für Treestruktur

  Alt 5. Mär 2007, 10:46
doch, bekomme immer genau die reihenfolge hin (aufgrund des prev_id kenne ich immer den vorgänger, und weiss wie der tree wieder aufzubauen ist)

da ein sehr wichtiger punkt einfach ist, das der tree schnell synchronisiert werden muß, und daher so wenig SQL Updates wie möglich passieren sollen, wenn der user was ändert, habe ich den weg mit dem prev_id gewählt

in dem Baum (ist eine Stückliste für mechanische fertigung) gibt es bereiche, wo es bis zu 500 Elemente in einem einzigen Zweig sind, wenn da dann der User oben nur ei einziges Element einfügt, dann müssen 500 UPDATES durchgeführt werden, auf jedem weiterem Client der sich diese Stückliste ansieht, müssen 500 Select Anweisungen gemacht werden.

in meinem Fall mit dem Prev_ID muß bei dem einfügen oben in der List oder in der Mitte 1 INSERT und maximal 2 UPDATE (wenn ganz oben, dann nur 1 UPDATE) gemacht werden, alle Clients müssen maximal 3 SELECT Anweisungen machen .... und alle sind wieder auf den akutellsten Stand ... das ist der grund für mein prev_id
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Sortierfunktion für Treestruktur

  Alt 5. Mär 2007, 10:49
Hallo Hans,

der von mir vorgestellte (nicht erfundene) Ansatz zählt zu den best practices im relationalen Bereich. An die Stelle von PREV_ID tritt SEQ (oder SI, siehe Link) als vom Benutzer festgelegte Ordnungsnummer und auch bei diesem Ansatz werden nur zwei UPDATE-Statements benötigt um die Ordnung von beliebig vielen Datensätzen neu zu regeln. Schau dir mal die Stored Procedure MoveRecs() an.

Ganz glücklich bist du mit deinem Ansatz ja sicher nicht, sonst hättest du diesen thread wohl nicht eröffnet - oder?

Freundliche Grüße
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#13

Re: Sortierfunktion für Treestruktur

  Alt 5. Mär 2007, 11:44
ja, in gewisser weise haste schon recht marabu, aber mein problem mit dieser lösung der sortierung ist einfach, das ich dann 500 datensätze habe die ich zu allen anderen clients synchronisieren muß, wobei es eigentlich nur 2 oder maximal 3 sind, die sich wirklich geändert haben ...

hab natürlich auch das problem, das dieses system schon läuft (und auch recht gut) das einzige ist nur, das mir meine sortierroutine nicht gefällt, da diese ja extremst rekursiv ist und extrem schlecht optimiert ist ... und dachte vielleicht gibt es irgendwo ansätze wie man mit parentid und previd eine liste sortieren kann ...

beim nächsten projekt werde ich es mir dann im vorfeld überlegen, ob ich den ansatz verwende, das ich statt previd einen sortierindex mitspeichere, aber in diesem, werde ich das system nicht mehr ändern können ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Sortierfunktion für Treestruktur

  Alt 6. Mär 2007, 02:53
war blödsinn...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:58 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