Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi workaround dbgrid in client-server-anwendung (https://www.delphipraxis.net/68365-workaround-dbgrid-client-server-anwendung.html)

sancho1980 29. Apr 2006 10:11

Re: workaround dbgrid in client-server-anwendung
 
hmm
ich weiß nicht ob ich das richtig verstanden hab
ich hab mich auch mal im netz umgeschaut
also so wie ich das verstehe, sorgt ein clustered index dafür, dass die wahrscheinlichkeit relativ hoch ist, dass zwei aufeinanderfolgende einträge auch auf derselben seite stehen
das bringt mich zu zwei fragen:
1) wie soll das gehen; schließlich habe teilweise ja mehrere indizes für die selbe tabelle, je nachdem nach welchem feld ich grade sortieren will
2) wie muss ich mir diese datenbankseiten eigentlich vorstellen? am ende landet es doch alles auf der platte...

danke,

martin

marabu 29. Apr 2006 10:25

Re: workaround dbgrid in client-server-anwendung
 
Zitat:

Zitat von sancho1980
also so wie ich das verstehe, sorgt ein clustered index dafür, dass die wahrscheinlichkeit relativ hoch ist, dass zwei aufeinanderfolgende einträge auch auf derselben seite stehen

Korrekt.

Zitat:

Zitat von sancho1980
wie soll das gehen - schließlich habe teilweise ja mehrere indizes für die selbe tabelle, je nachdem nach welchem feld ich grade sortieren will

es ist nur ein einziger clustered index pro table resp. view möglich. Die tupel werden in den Index eingebaut, die leaf nodes enthalten keine pointer mehr, sondern direkt die Daten.

Zitat:

Zitat von sancho1980
wie muss ich mir diese datenbankseiten eigentlich vorstellen? am ende landet es doch alles auf der platte...

Der verwaltete file space wird gekachelt, die dadurch entstehenden pages sind physische Verwaltungsobjekte. Muss einen aber nur in high performance Anwendungen interessieren.

marabu

sancho1980 29. Apr 2006 10:33

Re: workaround dbgrid in client-server-anwendung
 
hmm ich glaub das hab ich verstanden
ist es jetz so, dass der primärindex automatisch ein clustered index ist?
oder muss ich das noch irgendwie explizit sagen, also etwa wie 'create clustered index x ..'

marabu 29. Apr 2006 10:46

Re: workaround dbgrid in client-server-anwendung
 
Einen CLUSTERD INDEX musst du explizit erzeugen - und in den seltensten Fällen ist der PK der geeignete Kandidat. Der PK ist sehr oft ein surrogate key - besser geeignet ist da ein Sortierschlüssel (z.B. PLZ).

Übrigens: es ist eine gute Idee zuerst den clustered index zu erzeugen, da durch die Reorganisation der Daten alle anderen Indexe ungültig werden und neu aufgebaut werden müssen.

marabu

sancho1980 29. Apr 2006 11:02

Re: workaround dbgrid in client-server-anwendung
 
wie erzeug ich so einen clustered index?
bei "create clusterd index" bekomm ich eine "invalid token"-meldung

mkinzler 29. Apr 2006 11:10

Re: workaround dbgrid in client-server-anwendung
 
Ichglaube nicht das InterBase clustered Inidices unterstützt. Das ist m:W. ein Feature Des MSSQL.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:00 Uhr.
Seite 2 von 2     12   

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