Hallo!
Bei den Bestellungen zum Beispiel macht es Sinn, eine Auswahl nach Bestellnummer aufsteigend anzubieten. Aber der Nummernkreis wird so klein sein, dass man schon nach ein paar Jahren spätestens wieder von vorne anfangen muss. Da kann man den Vorrat im technischen Schlüssel so groß machen, dass man erst nach 30 Jahren wieder von vorne anfangen muss und dass man wegen des technischen Schlüssels die richtige Reihenfolge der Bestellungen hat. Dann ist der Datensatz mit dem kleinsten technischen Schlüssel der letzte Datensatz, der interessant ist, weil er schon längst abgehandelt ist. Also könnte man in DESCENDING Reihenfolge die Daten einlesen, um nur wenig mehr als die interessierenden Datensätze einzulesen. Dafür muss man wissen, welches der technische Schlüssel des ältesten Datensatzes, der noch nicht erledigt ist, ist. Denn sonst kann es sein, der Nutzer merkt gar nicht, da gibt es einen Datensatz, den man noch bearbeiten muss. In der Physik kann man viel damit anfangen, dass, was vorwärts geht auch rückwärts geht. Aber bei der Optimierung von Abfragen ist es ein Unterschied, ob man ASCENDING oder DESCENDING angibt. Wenn man eine Abfrage hat erstellen lassen, wäre eine Idee, dieselbe Abfrage, aber beginnend bei einem anderen Datensatz noch einmal ausführen zu können. Schön wäre auch, dass man weiß, wenn man einen Index erstellt hat, dass SQL genau diesen Index verwendet. Wenn man die ganze Datenbank in ein Dataset einliest (was bei dem Kundenstamm eines Fitnesscenters durchaus geht), habe ich auch gleich die Idee mit einem zweiten Dataset die Daten für die Anzeige in allen möglichen Formen aufzubereiten. Aber bei 40.000 Datensätzen wird man wohl schon in der richtigen Reihenfolge die Daten direkt aus der Datenbank ohne intern umzusortieren einlesen müssen.
Klaus Kühl