SQL - 使用flags和join查询来获取相关记录

时间:2013-10-18 11:10:12

标签: sql

说我有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

1 个答案:

答案 0 :(得分:2)

  

我确信使用标记列

会有性能跳转

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

  

但值得打扰吗?

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

你还应该考虑你的程序花在维护这些标志上的时间:如果标志经常更改,这次可能会减少首先引入标志的节省。