关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
9个月前关门了。
改进这个问题
我有一个问题,我想确定我做这件事的最佳方式。如果我有三列:
表:发票
发票号码
发票金额
发票日期
然后我有一个temp表,它有三个相同的字段,在这三个字段中我将有相同的发票记录 InvoiceDate
.
我需要更新 Invoices
表基于 InvoiceNumber
以及 InvoiceDate
.
最好是把这两列连接起来,还是我现在用的是 InvoiceDate
在 Where
主要条款 Invoices
table真的很大,我想哪里的过滤器更好。每个服务器将只有一个记录 InvoiceNumber
以及 InvoiceDate
但我在想,只过滤那个日期,然后加入发票号和update语句,会更有效。
更好的方法是什么?
2条答案
按热度按时间igetnqfo1#
检查这里是一个连接比一个在哪里快?
所以应该没什么区别。不同之处在于如何编写查询以及如何索引表。
brjng4g32#
一般来说,join子句和where子句之间没有太大的区别。
如果您想使用最佳实践,那么我建议您使用公共表表达式(而不是临时表)
为什么?
因为临时表是在
tempdb
数据库。cte只能在当前查询范围内使用。cte提高了复杂查询和子查询的可读性和易维护性。您可以在cte中使用join或where子句