在我的项目中,我遇到了一个需求,在这个需求中,我需要对某个地址处理一些操作,而这个地址不在其他表中,为此,我编写了以下查询。但是我认为当第二个表'transaction'中的条目增加时,这个查询会变慢。
select emp_address
from emp_leave_wallet
where attached ="mycompany_wallet" and
emp_address not in (select destination_address from transaction);
任何其他方式,除了在目标地址上添加索引。
5条答案
按热度按时间velaa5lx1#
使用
JOIN
但我无法量化绩效收益:0ejtzxu12#
使用
not exists
:smdncfj33#
我会从
not exists
:那么对于这个查询,您肯定需要一个索引
destination_address(destination_address)
可能是在(attached, emp_address)
.beq87vna4#
你的
emp_leave_wallet
以及transaction
表应该有id字段(我猜。。。emp_id
,transaction_id
)如果是我我会。。。
nnsrf1az5#
使用
NOT EXISTS
如果中没有匹配的行,则返回记录transaction
表基于where
条件:创建索引: