我一直在研究哪种方法能更好地优化我的系统,是在我的存储过程(SQL)中使用递归,还是在C#中使用递归。
我读过两种观点,其中一种解释说,在C#中使用递归是比较复杂和缓慢的,但用一个 尾号优化 但C#不支持这个。
另一方面,我读到一个帖子,在他们用C#写的程序中使用了它来减少数据库的负担。
我想知道在一个要存储和检索成千上万条记录的系统中,哪种方法更好。
一般来说,你最好写一个 单一 查询,避免了往返于数据库的开销。
你还没有指定你要做什么。 但我希望递归CTE在数据库中比在应用程序中工作得更好,原因如下。
此外,您可能在C#中使用递归来处理的一些事情可能会更好地使用SQL结构来实现,例如窗口函数。