我发布了我的搜索的简化版本,基本上是在SQL 2008中加入多个表
select * from t1
inner join t2 on t1.id = t2.id
inner join t3 on t2.id = t3.id
inner join t4 on t3.id = t4.id
inner join t5 on t4.id = t5.id
我想知道是否有办法将此查询的一部分存储为对象。不是结果,而是查询逻辑。
假设我想重用
inner join t3 on t2.id = t3.id
inner join t4 on t3.id = t4.id
inner join t5 on t4.id = t5.id
在不同的查询中,例如
select * from t1
inner join t2 on t1.id = t2.id
inner join t_stored on t_stored.id = t3.id
我正在考虑将 t_stored 定义为视图、函数或存储过程(两者都需要参数),但我不确定这会如何影响性能。无论最终会变得多么复杂,将其全部保存在主查询中是否更好。