Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql where子句中对非索引列的函数调用将影响性能_Sql_Sql Server_Sql Server 2008 - Fatal编程技术网

Sql where子句中对非索引列的函数调用将影响性能

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引擎将忽略该索引并执行扫描操作,而不是搜索

只是我需要理解,
where子句中对非索引列的函数调用会影响性能吗?

对非索引列的函数调用只会影响函数调用本身的开销。对该列进行函数调用不能排除使用一个最初不存在的索引

你说:

SQL server引擎将忽略该索引并执行扫描操作,而不是搜索


一个轻微的修正是SQL Server不支持基于函数的索引(尽管Oracle和其他一些数据库支持)。在SQL Server中,如果需要基于函数的索引,可以通过使用物化视图来解决问题。

另一个解决方法是计算列,并在其上建立索引