Search code examples
sqlsql-serversql-server-2005t-sqlsql-execution-plan

Question on Query execution


In the below query if the Patients table has 1000 records how many times TableValueFunction executes? Only once or 1000 time?

This is a query in a Stored Procedure, do you have a better idea to improve this?

SELECT * FROM Patients
WHERE Patient.Id In (SELECT PatientId FROM TableValueFunction(parameters..))

Solution

  • It depends on what you are using as parameters. If the parameters are constants the function will execute one time but if the parameters are fields from Patients the function will execute as many times as there are rows in table Patients.