如果invoice.userId和invoiceline.invoiceId都有索引,则以下两个中的哪一个会更快。 invoice.id是一个主键,所以即使它有一个索引。
select invoiceline.item, invoiceline.rate, invoiceline.vat
from invoice
inner join invoiceline
on invoice.id = invoiceline.invoiceId
where invoiceline.id = @invoiceId
AND invoice.userId = @userId
select invoiceline.item, invoiceline.rate, invoiceline.vat
from invoiceline
where invoiceline.invoiceId = @invoiceId
答案 0 :(得分:1)
如果您想了解性能,那么您应该尝试对系统上的数据运行查询。
在这种情况下,两者都会很快运行。但是第一个版本必须在两个页面(或两个索引)中查找数据,而第二个版本只需要访问一个表。我希望第二个会稍快一些。