[英]selecting some records from table containing 200 million records
我是sql的新手,所以我的術語可能不太正確。
我有一張表Alignment,其中有2.5億條記錄。 它具有兩列chain_id1和chain_id2。 其中一些鏈是來自另一個具有22000條記錄的表Centroid的chain_id的外鍵。
基本上,我需要所有兩個都具有質心的鏈的記錄。
我嘗試使用以下查詢:
insert into NewAlignment(...)
select ....
from Alignment as A
, Centroid as C1
, Centroid as C2
where (A.chain_id1 = C1.chain_id)
and (A.chain_id2 = C2.chain_id)
但是上面的查詢只是停頓了,從表的大小來看這是可以理解的。
因此,我嘗試編寫腳本來掃描表並檢查值,然后將其插入新表中。 以這種方式,一百萬條記錄大約花費了13分鍾。
有什么辦法可以加快速度。
非常感謝。
您可能希望向表中添加索引,尤其是在Alignment.Chain_id1
, Alignment.Chain_id2
和Centroid.Chain_id
。 這應該有很大幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.