Anmelden

View Full Version : SQL Techniken in Verbindung mit Subfile



Seiten : 1 2 [3]

harkne
03-05-21, 13:45
Also ich werde das jetzt im 1. Step wie folgt versuchen.

Bei der ersten Anzeige gibt es ja noch keine vom Benutzer festgelegte Sortierung oder Auswahl also werde ich ein SQL ausführen mit LIMIT 15. Dies werde ich immer machen wenn eine Umsortierung oder eine Selektion von Seiten des Benutzers erfolgt.

Beim ersten vorwärtsblättern, werde ich das gleiche SQL ohne LIMIT und dann immer 15 Sätze beim vorwärtsblättern vorlesen (Scrollable sensitive Cursor fetch next)

Beim rückwärts blättern das gleiche in umgkehrer Reihenfolge (fetch prior)

Jetzt halt die Problematik wenn er positionierten möchte.
Falls er positioniert werde ich das SQL wieder absetzen diesmal aber mit WHERE Keyfeld >= Benutzereingabe

Das geiche wie oben.

Falls er rückwärts blättert (und positioniert hatte) werde ich die Variante für einen 2. Cursor von Bender verwenden. Bei dem die Daten vor der Positionierung in umgekehrter Reihenfolge gelesen werden aber mit der selben vorgehensweise wie beim 1. Cursor.

Bitte kurz abnicken :-)

Fuerchau
03-05-21, 13:58
Muss ich das verstehen?
Warum Limit 15 wenn du doch nach 15 Zeilen fertig mit dem Lesen bist?
Beim Blättern nach vorne einfach weiter lesen, beim Blättern rückwärts einfach 30 Zeilen rückwärts positionieren und wieder füllen.
Bei einem Filter mit "Where"-klausel ergänzen und wieder öffnen.
Bei einer Sortierung mit "order by" ergänzen und wieder neu öffnen.
Beim Blättern brauchst du nichts zu ändern.

Aber warum einfach, wenns auch kompliziert geht;-).

harkne
03-05-21, 14:01
Das genau will ich doch machen, klar ob man bei der ersten Seite ein LIMIT15 macht oder nicht kann man sich überlegen. Das Problem ist und bleibt die Positionierung. Wenn ich jetzt die erste Seite anzeige und der User sagt ich möchte zu Müller positionieren. Soll ich dann das Telefonbuch durchlesen bis ich bei Müller bin?

Fuerchau
03-05-21, 14:09
Das halte ich eher für einen Filter. Das kann man einem User auch erklären.
Wenn man mit "Müller" aufsetzt, wird erst ab Müller gelesen. Ein Rückwärtsblättern würde ich da ausschließen.
Suche ich was anderes als Müller, gebe ich einen neuen Suchbegriff ein.

Ich würde die Eingaben auch als Filter deklarieren. Wenn kein "Müller" da ist, wird auch kein "Neumeier" mehr angezeigt.

Das ist doch wie auf Webseiten (wie z.b. Fahrzugsuche) auch: Wenn es zu viele Ergebnisse in der Suche sind soll man weiter einschränken.

harkne
03-05-21, 14:16
Naja im PDM kann ich sowohl einschränken wie auch positionieren, da lässt er mich dann auch rückwärts blättern nach dem Positionieren

Fuerchau
03-05-21, 14:22
Nun ja, eine Liste von Teildateien ist auf 32768 beschränkt.
Du redest aber von mehreren Millionen Zeilen.
Es ist halt immer eine Sache, wie man eine Anwendung verkauft.
a) schnelle Suchunterstützung
b) mit den Augen suchen
Ich würde (auch schon wegen meiner Augen) Methode a) preferieren.

harkne
03-05-21, 14:50
OK, vielen Dank. Vorschläge habe ich ja jetzt genug.