sql - 关于查询执行的问题

标签 sql sql-server sql-server-2005 t-sql sql-execution-plan

在下面的查询中,如果患者表有 1000 条记录,TableValueFunction 会执行多少次?只有一次还是1000次?

这是存储过程中的查询,您有更好的想法来改进它吗?

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

最佳答案

这取决于您使用的参数。如果参数是常量,则该函数将执行一次,但如果参数是 Patients 中的字段该函数将执行与表 Patients 中的行数一样多的次数.

关于sql - 关于查询执行的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7253247/

相关文章:

c# - 改为使用参数值在 nhibernate 中打印查询字符串?

sql-server - "INSTEAD OF UPDATE "触发器内部的MSSQL条件检查

php - 时间戳 Mysql Date_From 作为默认值

c# - 什么代表sql server中的double?

sql - 如何列出VIEW中的列的源表名称(SQL Server 2005)

mysql - 如何在 MySQL 中重置 AUTO_INCRMENT

sql - SQL 中正则表达式的字符串追加 (Microsoft SQL Server 2008 R2)

sql - HIVE JOIN两个具有不同行数的表给出错误的列值

sql:如何删除重复行(内容相同,但顺序不同)

sql - SYS.DM_TRAN_LOCKS 表 RESOURCE_ASSOCIATED_ENTITY_ID 列中的奇怪值