Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Index auf ein Feld in einem bestehenden Projekt ergänzen (https://www.delphipraxis.net/71257-index-auf-ein-feld-einem-bestehenden-projekt-ergaenzen.html)

Karstadt 12. Jun 2006 07:13

Datenbank: MYSQL • Version: 4.1 • Zugriff über: MYDAC

Index auf ein Feld in einem bestehenden Projekt ergänzen
 
Hallo. Ich möchte in einen bestehenden Projekt ein index auf ein "X" Feld setzen. Die Tabelle enthält ca. 10.000 Datensätzen. Was muss ich genau machen? Reicht das aus, wenn in per Mysql Admin auf das Feld "X" ein Index setze, oder muss ich irgendwelche änderungen im Projekt *.exe vornehmen?

marabu 12. Jun 2006 07:46

Re: Index auf ein Feld in einem bestehenden Projekt ergänzen
 
Hallo.

Solange du in deinen Programmen keine index hints verwendest, ist das index management ein Job des Datenbank-Administrators - ohne Bezug zu deiner Anwendung. Du kannst also deinen Index einfach erzeugen oder löschen und den Einfluß auf das Laufzeitverhalten deines Programms bestaunen.

Grüße vom marabu

Karstadt 12. Jun 2006 14:29

Re: Index auf ein Feld in einem bestehenden Projekt ergänzen
 
Zitat:

Zitat von marabu
Hallo.

Solange du in deinen Programmen keine index hints verwendest, ist das index management ein Job des Datenbank-Administrators - ohne Bezug zu deiner Anwendung. Du kannst also deinen Index einfach erzeugen oder löschen und den Einfluß auf das Laufzeitverhalten deines Programms bestaunen.

Grüße vom marabu


Muss ich irgenwas ausführen im Projekt. So was wie Reorganisation der Indexfelder, oder reicht das aus, wenn ich mysql neu starte?

mkinzler 12. Jun 2006 15:21

Re: Index auf ein Feld in einem bestehenden Projekt ergänzen
 
Die Indizes werden automatisch beim Insert aktualisiert.

marabu 12. Jun 2006 15:29

Re: Index auf ein Feld in einem bestehenden Projekt ergänzen
 
Ich weiß nicht, was du unter einer Reorganisation der Index-Felder verstehst. Du musst am besten wissen, ob du irgendwelche Dinge in deinem Projekt fest verdrahtet hast. Im Idealfall übergibst du ein fertiges Projekt an den Betrieb und der DB-Admin erstellt anhand der Ausführungspläne des Query Optimizers jeden benötigten Index. Du hast MySQL 4.1 angegeben. In Version 3 hatte CREATE INDEX noch gar keine Wirkung, in Version 4 wird CREATE INDEX intern über ein ALTER TABLE realisiert. Ab Version 5 gibt es wohl wesentliche Verbesserungen und Erweiterungen am Index-Management.

marabu

Karstadt 12. Jun 2006 15:52

Re: Index auf ein Feld in einem bestehenden Projekt ergänzen
 
...hier ein Beispiel:

SQL-Code:
 SELECT * FROM TABELLE_X WHERE FELD_Nr = 'Variable'
Nun werden die Datensätze mit ausgewählten Feldnummer angezeigt.

Wenn der MQSQL Admin auf die Tabelle_X auf das FEld FEld_nr ein Index setzt muss ich in meine Anwendung nichts machen und die geschwindigkeit "KANN" siche erhöhen. Richtig? oder verstehe ich was falsch?

mkinzler 12. Jun 2006 15:53

Re: Index auf ein Feld in einem bestehenden Projekt ergänzen
 
Ja, da bei einem select auf dieses Feld dann der Index herangezogen wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:39 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