目前,得到我所需要的數據,我需要執行多個SQL語句:將多個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])
第一個查詢是沒有問題的,因爲我只有這樣做一次。但我想知道是否有辦法結合(至少)最後三個查詢。由於db非常大(〜20 GB),我認爲一個「好的查詢」可能會大大加快速度。
我做的是:對於給定的pubkey_id
/pubkey_hash
,從txin_corr
的同一行中包含此pubkey_id
得到所有tx_id
秒。然後,從txin_corr
獲得所有pubkey_id
,其中該行包含檢索到的tx_id
。最後,獲取現在檢索到的pubkey_id
s的所有pubkey_hash
。
我們在談論哪種RDBMS? SQL Server?甲骨文? MySQL的? – DOK
我強烈建議使用更好的名稱,併爲此問題組裝一個可用的[sql小提琴](http://sqlfiddle.com/)示例。 –
我正在使用MySQL 5.5。 – Micha