2012-04-05 10 views
3

Unter den TSQL-Typen (MSSQL): real, float und decimal; Welcher Typ würde zu schnelleren Vergleichen führen?TSQL: Welcher reelle Zahlentyp führt zu schnelleren Vergleichen

Würde dezimale hardware FPU Berechnung oder ist es rein in Software?

+0

In den meisten Fällen sind SQL Server-Instanzen nicht sehr anspruchsvoll für die CPU; seine Engpässe beziehen sich normalerweise auf IO- und Netzwerk-Subsysteme. Daher sollte diese Art der Mikrooptimierung nur dann in Betracht gezogen werden, wenn ein echtes Problem auf einem laufenden System erkannt wird. –

Antwort

1

Dezimalzahlen können die FPU nicht verwenden. Sie erhalten die beste Leistung mit Float oder Real, die auf eine Standard-IEEE-Gleitkommazahl abgebildet wird, die von der FPU unterstützt wird.

float = Doppel realen = single

Natürlich Single ist schneller.

+1

Danke, das habe ich auch vermutet. – loopedcode

0

Sind diese relativen Vergleiche>, < oder Gleichheitsvergleiche =,! =?

Floats und Reals sind Näherungsdatentypen, die als Dezimalzahl eine tatsächliche Darstellung darstellen. Wenn Sie Gleichheit machen, werden Sie sich von Floats und Reals fernhalten wollen. Das hinterlässt Dezimalzahlen.

Wahrscheinlich wird SQL Server für relative Vergleiche nicht zur FPU wechseln. FPU und andere Koprozessoren werden für die Arithmetik verwendet.

+0

Ja, meistens> oder loopedcode

+0

Warum sollte die FPU nicht für Vergleiche verwendet werden? * Wie sonst * würde es die Vergleiche machen? – usr

Verwandte Themen