AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Geschwindigkeitsunterschiede verschiedener Abfragen
Thema durchsuchen
Ansicht
Themen-Optionen

Geschwindigkeitsunterschiede verschiedener Abfragen

Ein Thema von xaromz · begonnen am 2. Nov 2005 · letzter Beitrag vom 2. Nov 2005
Antwort Antwort
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#1

Geschwindigkeitsunterschiede verschiedener Abfragen

  Alt 2. Nov 2005, 13:16
Datenbank: MySQL • Zugriff über: DBExpress
Hallo,

ich hab mal eine (möglicherweise etwas theoretische) Frage, nicht grundsätzlich bezogen auf MySQL. Angenommen ich habe eine Tabelle mit den Feldern A - F. Gibt es bei Abfragen einen Geschwindigkeits-Unterschied, wenn ich die Reihenfolge der Felder bei der Abfrage ändere? Beispielsweise

a)SELECT A, B, C, D, E, F FROM Tabelle b)SELECT A, C, F, B, D, F FROM Tabelle c)SELECT F, E, D, C, B, A FROM Tabelle Meine Vermutung ist, dass a) am schnellsten ist, aber ist das eher ein akademischer Unterschied oder wirklich relevant, und ist das von der Art der Felder abhängig (int, varchar, blob)?

Vielleicht weiß da einer mehr oder hat schon mal nachgemessen

Gruß
xaromz
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Geschwindigkeitsunterschiede verschiedener Abfragen

  Alt 2. Nov 2005, 13:27
Zitat von xaromz:
Gibt es bei Abfragen einen Geschwindigkeits-Unterschied, wenn ich die Reihenfolge der Felder bei der Abfrage ändere?
Ich denke es macht keinen Unterschied.
Der "physikalische Datensatz" liegt im Speicher vor. Es wird also nicht auf der Platte vor-
und zurückpositioniert.
Die Feldliste (=das was nach SELECT steht) wird ausgewertet und ein Ergebnis-Dataset erzeugt.
Ein theoretischer Vorteil, der durch den Prozessor Datencache entstehen könnte,
ist nicht messbar.

Die Reihenfolge der Felder in der Tabelle hat aber sicher einen Einfluss auf die Geschwindigkeit.
Die Primärschlüsselfelder sollten z.B. am Anfang der Tabelle stehen und genau die gleiche Reihenfolge (bei mehr als einem Feld) haben.
Andreas
  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 09:02 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