AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

paged query im Eigenbau?

Ein Thema von bernhard_LA · begonnen am 19. Jun 2014 · letzter Beitrag vom 20. Jun 2014
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.388 Beiträge
 
Delphi 12 Athens
 
#1

AW: paged query im Eigenbau?

  Alt 20. Jun 2014, 07:04
Das kommt auch auf die Daten drauf an.

z.B. egal ob du nun selber das aufteilst, oder ob das System es macht.
Dank deines ORDER BY PrimaryKeyPreferablyWithAClusteredIndex im Beispielcode muß die DB sowieso erstmal die komplette Result-Tabelle zusammenstellen, um sie überhaupt erstmal sortieren zu können und danach wird und kann erst der Ausschnitt extrahiert werden.
Wenn du das nun immer wieder neu abfragst, dann macht das die DB praktisch jedes mal von Neuem.
Und selbst ohne Sortierung werden viele DBMS das Result vermutlich dennoch umkopieren, denn sonst müsste sie die Tabelle vermutlich für andere Schreibzugriffe sperren, bis man endlich alles runtergeladen hat. Oder diese Zugriffe landen so lange, wie bei einer Transaktion, im Cache und werden erst in die Tabelle geschrieben, nachdem du mit Runterladen der aktuellen Anfrage fertig bis.

Wenn man nun wirklich nur die Daten von oben nach unten durchgehen will, dann ist es doch besser, wenn die DB das nur einmal machen muß und man dann das Result sich vom System stückchenweise nachladen lässt?
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (20. Jun 2014 um 07:09 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: paged query im Eigenbau?

  Alt 20. Jun 2014, 07:10
Dank deines ORDER BY PrimaryKeyPreferablyWithAClusteredIndex im Beispielcode muß die DB sowieso erstmal die komplette Result-Tabelle zusammenstellen, um sie sortieren überhaupt zu können
Nein! Nicht bei einem Clustered Index (deswegen heißt die Spalte ja so). Das ist der Trick. Bei einem Clustered Index liegen die Daten bereits sortiert im B-Baum.

Das bedeutet, das Du derartig angelegte Tabellen wirklich ohne jegliche Verzögerung durchscrollen kannst. Bei anderen RDMBS geht das anders. Bei SQL-Server aber eben so.

Geändert von Dejan Vu (20. Jun 2014 um 07:14 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: paged query im Eigenbau?

  Alt 20. Jun 2014, 07:16
Gut, Sortieren ist auch möglich, wenn man immer nur Ausschnitte kennt, aber das ist dann auch ein klitzekleines bissl aufwändiger.
[edit] Hmmm, beim Einfügen jedes Datensatzes kann man ist es einfacher, da dort ja nur "alles" mit dem jeweiligen Satz verglichen werden muß.

Na dann
Dann ist der Aufwand wohl in die Indexerstellung verschoben und braucht beim Auslesen nicht mehr gemacht zu werden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: paged query im Eigenbau?

  Alt 20. Jun 2014, 10:11
Vom Sortieren muss man sich verabschieden, wenn man mit riesigen Datenmengen zu tun hat. Das ist aber auch irrelevant, denn -zum 1000000sten mal- anschauen tut sich das keine Sau. Klar will man immer ein Grid haben, in dem alle Daten sichtbar sind und man *könnte* wenn man wollte durch die Zeilen durchscrollen und man kann sortieren und gruppieren und superallesmachen. Aber...

dafür gibt es OLAP.
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz