[英]The factor calculation is very small, how do I use parallel computing to speed it up?
[英]How to use parallel computing in R?
sect<-c("Healthcare","Basic Materials","Utilities","Financial Services","Technology","Consumer"
"Defensive","Industrials","Communication Services","Energy","Real Estate","Consumer
Cyclical","NULL")
mcap<-c("3 - Large","2 - Mid","1 - Small")
df_total = data.frame()
start <- as.Date("01-01-14",format="%d-%m-%y")
end <- as.Date("18-03-20",format="%d-%m-%y")
theDate <- start
while (theDate <= end){
for (value1 in sect){
for (value2 in mcap){
date=theDate
sector<-value1
marketcap1<-value2
newquery("Select * from table where date='%s' and sector='%s' and marketcap='%s'",date,sector,marketcap1)
topdemo <- sqlQuery(dbhandle,newquery)
df=data.frame(topdemo)
df_total <- rbind(df_total,df)
}
}
theDate <- theDate + 1
}
在我的程序中,我進行了一些 SQL 計算,而不是“選擇”查詢。 我需要這段代碼從 2014 年到 2020 年運行,但執行它需要很多時間。 有沒有辦法減少執行時間? 該數據庫為每個市值和行業提供了許多股票價格。
運行一個查詢而不是所有循環:
select *
from table
where sector in ('Healthcare', 'Basic Materials', 'Utilities',
'Financial Services', 'Technology', 'Consumer'
'Defensive', 'Industrials', 'Communication Services', 'Energy', 'Real Estate', 'Consumer Cyclical', 'NULL'
) and
marketcap in ('3 - Large', '2 - Mid', '1 - Small') and
date between '2014-01-01 and '2020-03-18';
運行大量小查詢有很多開銷,一個通常更好。
也就是說,您似乎正在移動大量數據。 我想知道是否需要所有這些數據移動。
奇怪的是,您正在遍歷數千個日期,但查詢中不包括日期。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.