问题可以简化为这样,在视图中,除了where、HAVING子句之外,任何引用some_immutable_func中断的CTE都会导致以下错误:
create or replace function some_immutable_functhe server was lost.只需将UDF更改为稳定就可以解决这个问题,但我希望在复杂视图中优化查询性能,显然,某个UDF的稳定特性会使其速度减慢近100倍。我认为问题可能出在查询<
GROUP BY [
我有一种感觉,SQLServer感到困惑,会为每个自连接调用CTE,这一点似乎通过查看执行计划得到了证实,尽管我承认不是阅读这些计划的专家。我假设SQLServer足够聪明,可以只从CTE中检索数据一次,而不是执行多次。我尝试了相同的方法,但没有使用CTE来获取数据的子集,而是使用了与CTE中相同的select查询,但将其输出到一个临时表
我有一些分层数据--每个条目都有一个id和一个(可空的)父条目id。我想检索树中给定条目下的所有条目。这是在SQLServer 2005数据库中。我在C# 3.5中用LINQ to SQL查询它。LINQ to SQL不直接支持。我的选择是用几个LINQ查询在代码中组装数据,或者在呈现CTE的数据库上创建一个视图。
当数据量变大时,您认为哪个选项(或另一个选项)的性能</