我正在SQL Server 2000上编写存储过程 我写了一个复杂的select语句,需要18秒才能运行 问题是,如何才能正确有效地自我加入结果?
是否可以在单个select语句中管理它而不重复我目前拥有的大查询语句?或者我应该将结果保存在表变量或临时表中? 非常感谢。
答案 0 :(得分:4)
如果原始查询运行时间很长,但结果很小,是的,您可以考虑临时/帮助程序表,并在该表上运行第二个查询(自联接)。
这也可能有助于保持您的方法模块化/可维护。而且你可以在长时间运行的查询中调整性能,而不会让你的第二个人同时盯着你。