Halihallo Stephan
Ja, aber wohl nur über eine interpolierte Spalte, oder die Verwendung einer anderen
Tabelle, die die Messungen geeignet(er) abbildet.Das hatte ich mich nach dem Posten auch schon mal angedacht, aber wenn ich eine vernünftige interpolierte Tabelle erstelle, habe ich statt 10.000 Datensätzen 250.000 (der Verlauf der Meßkurven ist in einigen Bereichen relativ stetig, aber mit großer Steigung, so daß im Moment 1 Datenpunkt ausreicht, bei der Interpolation bräuchte ich 20-50). Das macht dann wohl den Vorteil eines Index wieder zunichte :-(.
Dann interpoliere gar nicht. Verwende die vorgeschlagene Abbildung der Messdaten und
selektiere über zwei Queries; und zwar so, dass die möglichst nächste obere und untere
Schranke findest (über ORDER BY mit LIMIT 1,0 kann man das nächst passende "objekt"
selektieren), du erhälst dann zwei Werte und _diese_ kannst du dann interpolieren, dass
sie der Drehzahl angepasst sind. So kannst du den Index verwenden, hast keinen Datenmüll
und hast dennoch akzeptable Ergebnisse.
Ein Performancegewinn geht hier wohl leider etwas auf Kosten der Messgenauigkeit, aber
das ist allgemein ein Problem mit dem alle zu kämpfen haben.
Ach ja, mit der ORDER BY und LIMIT "Lösung" kannst du natürlich beliebig viele (also
nicht nur 1 Record) selektieren, je mehr, desto genauer dass Messergebnis, aber desto
langsamer die SQL-Abfrage.
Viele Grüsse
Philipp