Benutzerdefinierte functionen SQL server 2005 falsch als nicht-deterministisch markiert?

Im Zusammenhang mit dieser Frage habe ich beschlossen, die UDFs in meinem Data Warehouse zu überprüfen (was weitgehend deterministisch war), und ich fand mehrere, die nicht was sein sollte.

Zum Beispiel:

CREATE FUNCTION [udf_YearFromDataDtID] ( @DATA_DT_ID int ) RETURNS int AS BEGIN RETURN @DATA_DT_ID / 10000 END 

Zeigt in dieser Abfrage:

 SELECT ROUTINE_NAME FROM INFORMATION_SCHEMA.ROUTINES WHERE IS_DETERMINISTIC = 'NO' AND ROUTINE_TYPE = 'FUNCTION' ORDER BY ROUTINE_NAME 

Warum ist das?

Yikes – anscheinend, es ERFORDERT SCHEMABINDING, um anders zu verweisen, dass es performancesprobleme verursachen könnte

 ALTER FUNCTION [udf_YearFromDataDtID] ( @DATA_DT_ID int ) RETURNS int WITH SCHEMABINDING AS BEGIN RETURN @DATA_DT_ID / 10000 END 

Sieht aus wie ich könnte einige performancessteigerungen durch die Festsetzung dieser. Nett.