MYSQL 쿼리 속도 증가에 관해 문의드립니다.
조회수 411회
RMySQL을 이용해 db를 불러오는 코드 아래 속도가 2.7초정도 걸립니다.
conn <- dbConnect(MySQL(), host = "192.168.0.33", port=3306, user = "root", password = "kone", db = "Screening")
query<- paste("SELECT code, name, ROUND(ChangeOP, 4) AS 12MFWOP, ROUND(ChangeNP, 4) AS 12MFWNP, ROUND(ChangeOPM, 4) AS 12MFWOPM, ROUND(ChangeROE, 4) AS 12MFWROE, ROUND(ChangeSales, 4) AS 12MFWSales,year, month, day FROM Basic12MFW1D WHERE year =", year(ymd(input$Today)), "AND month = ", month(ymd(input$Today)), "And day=",day(ymd(input$Today)))
dbGetQuery(conn,"set names utf8")
data<-dbGetQuery(conn,query)
dbDisconnect(conn)
data
이런 코드가 전체 코드에서 종종 사용되다보니 전체 코드 돌리면 속도가 나오지 않아 2.7초라는 수치를 확 줄이고 싶습니다.
인터넷에서 보니 컬럼에 함수식 쓰면 느려진다고 해서
a<-Sys.time()
query<- paste("SELECT code, name, ChangeOP, ChangeNP, ChangeOPM, ChangeROE, ChangeSales ,year, month, day FROM Basic12MFW1D WHERE year =",2019, "AND month = ", 12, "And day=",26)
dbGetQuery(conn,"set names utf8")
data<-dbGetQuery(conn,query)
dbDisconnect(conn)
data
Sys.time()-a
해도 똑같이 2.7초 나옵니다.
RMySQL 자체가 느려서 그런 것인지 아니면 제가 코드를 비효율적으로 짜서 그런것인지 궁금합니다.
참고로 table의 row 수는 365*7*2000=4,000,000개 정도 입니다
댓글 입력