目前,要获取我需要的数据,我需要执行多个 SQL 语句:
SELECT pubkey.pubkey_id
FROM pubkey
WHERE pubkey.pubkey_hash = (input data [1])
SELECT txin_corr.tx_id
FROM txin_corr
WHERE txin_corr.pubkey_id = (pubkey.pubkey_id from previous query [max. 1])
SELECT txin_corr.pubkey_id
FROM txin_corr
WHERE txin_corr.tx_id = (txin_corr.tx_id from prev.qry. [n])
SELECT pubkey.pubkey_hash
FROM pubkey
WHERE pubkey.pubkey_id = (txin_corr.pubkey_id from prev.qry. [n])
第一个查询没问题,因为我只需要做一次。但我想知道是否有一种方法可以组合(至少)最后三个查询。由于数据库非常大(~ 20 GB),我认为“好的查询”可能会大大加快速度。
我正在做的是:对于给定的pubkey_id
/ pubkey_hash
,从中获取所有包含 this在同一行中的tx_id
s 。然后,从包含检索到的 s 的行中获取所有s 。最后,获取现在检索到的 s 的所有s。txin_corr
pubkey_id
pubkey_id
txin_corr
tx_id
pubkey_hash
pubkey_id