2

假设我有 3 张桌子:

reviews | paid, received_feedback (booleans)
payments | review_id
feedback | review_id

是否值得执行性能提升(psuedo-SQL 来演示):

select from reviews where paid = 1

VS

select from reviews, joins payments where payments.review_id = reviews.id

4

1 回答 1

2

我确信使用标记的列会有性能提升

你是对的:删除连接通常会提高性能

但这值得吗?

这由您来决定:如果您的程序必须处理的记录数量很大,并且您必须经常这样做,那么添加标志是有意义的。否则,将标志保持在正确状态将是持续的维护责任。

您还应该考虑您的程序花费在维护这些标志上的时间:如果标志经常更改,那么这段时间可能会减少最初引入标志所节省的成本。

于 2013-10-18T11:16:34.127 回答