Hi, i have a query like Select Col1 , col2 , dbo.func1(col3), dbo.func2(col4) from table1 t1 inner join table2 t2 on t1.col = t2.col I'm plannig to use CROSS APPLY instead of calling those functions because as per my understanding CROSS APPLY calls the UDF only when the input value changes means when the input value is different from the last one it calls the UDF else it does not. For eg. if in 10 rows i have first 5 rows with same col3 val and rest 5 rows with same value then it'll call func1 only 2 times, i save on 8 function calls. What's my area of concern is that how's the performance of CROSS APPLY ie to save those calls i'm not killing the cpu etc.? Tthe actuall query is a lot bigger and returns approx 10,000 rows each time so a gain of 10-20 % is also welcome.