Sql where子句中对非索引列的函数调用将影响性能
我知道,如果我们在where子句中对索引列使用函数调用,SQL server引擎将忽略该索引并执行扫描操作,而不是搜索 只是我需要理解,Sql where子句中对非索引列的函数调用将影响性能,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,我知道,如果我们在where子句中对索引列使用函数调用,SQL server引擎将忽略该索引并执行扫描操作,而不是搜索 只是我需要理解, where子句中对非索引列的函数调用会影响性能吗?对非索引列的函数调用只会影响函数调用本身的开销。对该列进行函数调用不能排除使用一个最初不存在的索引 你说: SQL server引擎将忽略该索引并执行扫描操作,而不是搜索 一个轻微的修正是SQL Server不支持基于函数的索引(尽管Oracle和其他一些数据库支持)。在SQL Server中,如果需要基于函数
where子句中对非索引列的函数调用会影响性能吗?对非索引列的函数调用只会影响函数调用本身的开销。对该列进行函数调用不能排除使用一个最初不存在的索引 你说: SQL server引擎将忽略该索引并执行扫描操作,而不是搜索
一个轻微的修正是SQL Server不支持基于函数的索引(尽管Oracle和其他一些数据库支持)。在SQL Server中,如果需要基于函数的索引,可以通过使用物化视图来解决问题。另一个解决方法是计算列,并在其上建立索引