Registriert seit: 29. Nov 2010
3.072 Beiträge
Delphi 2010 Enterprise
|
AW: SELECT FIRST 1 im JOIN möglich ?
12. Nov 2017, 11:58
Es ist sowieso fraglich, ob das so schneller ist.
Wenn das Mengenverhältnis 750K:1K ist, dann ist das ursprüngliche Subselect gar nicht so dramatisch. Bei wirksamer Indexierung, sind es halt 1000 gezielte Zugriff aus der 750K Menge.
Meine Variante macht riesige Aggregationen wahrscheinlich sogar Fulltablescan, die eigentlich nur einseitig über das Datum eingeschränkt sind.
Angenommen, man untersucht die Menge und stellt das größte Datumsloch fest, könnte man das sicher auch als berechnete Untergrenze (fecha-größteLücke) in das Statement einbauen.
Gemäß der Frage des TE ist mein Vorschlag erstmal eine ziemlich allgemeingültige Lösung per Join. Dürfte überall laufen.
Ggf. hilft die CTE Nummer doch, das wäre quasi eine Lateral Variante.
MyRealName soll mal ausprobieren, wie das läuft.
Jeden Tag einen Mittelwert einzutragen, macht die 750K sicher auch nicht schlanker, dann spart man sich die Aggregierung, aber braucht "etwas" mehr Platz für die Daten und Indizierung.
Gruß, Jo
|