AGB  ·  Datenschutz  ·  Impressum  







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

Query-Optimierung

Ein Thema von hoika · begonnen am 5. Okt 2007 · letzter Beitrag vom 6. Okt 2007
Antwort Antwort
alex517

Registriert seit: 23. Nov 2004
Ort: Bernau b. Berlin
273 Beiträge
 
Delphi XE5 Enterprise
 
#1

Re: Query-Optimierung

  Alt 6. Okt 2007, 12:01
Hallo Heiko,

Mich wundert ein wenig, dass du zwar ein EndDate hast, dieses aber nicht auswertest.
Für der 22.01.2007 wäre laut deinen Daten PersonalId=1 in keiner Gruppe.

Wenn das EndDate keine Rolle spielt, warst du doch schon auf dem richtigen Weg,
es fehlte nur das First 1 da du ja nur eine Satz zurück haben möchtest:

SQL-Code:
Select First 1
  *
From
  MyTable
Where
  (PersonalId=1) and (StartDate<='22.1.2007')
Order By
  StartDate Desc

mit Auswertung des EndDates:
SQL-Code:
select first 1
  *
from
  MyTable H
where
  H.PERSONALID = :PERSONALID
  and
  (H.STARTDATE <= :DATUM) and (:DATUM <= H.ENDDATE)
ORDER by
  H.STARTDATE desc
in beiden Fälle empfiehlt sich ein Index
CREATE DESCENDING INDEX MYTABLE_IDX1 ON MYTABLE (PERSONAL_ID, STARTDATE);


alex
Alexander
  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 14:17 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