复杂选择查询V创建临时表,然后在临时表中插入值,然后选择它

时间:2010-08-12 09:05:27

标签: sql-server-2005 stored-procedures

我只是想知道哪种方法更好。

  1. 在select子句中创建包含许多CASE WHEN THEN ... ELSE ... END语句或子查询的复杂选择查询。

  2. 创建临时表,然后插入并更新它。最后select * from @tempTable

  3. 此问题仅适用于复杂查询,不适用于简单连接,也不适用于必须从其他表格中选取一些小信息。

1 个答案:

答案 0 :(得分:2)

为了方便和快速发展,2我的经验。

对于性能 - 它取决于您加入和检索的行和表的数量。在内存临时表(看起来像你建议的那样)有一个开销,这显然是他们正在使用的内存。

如上所述,我坚持使用数字2,除非你正在使用沃尔玛规模的数据然后担心性能问题 - “硬件便宜,编写软件很贵” < / p>