Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn Mysql hoạt động tốt trên bàn làm việc nhưng mất quá nhiều thời gian trong r

Giải pháp có thể là thay thế dbGetQuery với dbSendQuerydbFetch cuộc gọi.

Các bước đơn giản có thể là:

library(RMySQL)

# From OP
con <- dbConnect(RMySQL::MySQL(),
               dbname ="mydb",
               host      = "localhost",
               port  = 3306,
               user  = "root",
               password = "")

# iterationresults is a table in your database. One can replace query with his own
rs = dbSendQuery(con, "select * from iterationresults")

# Fetch first 20 rows and repeat it for all rows  
df = dbFetch(rs, n=20)

# For repeated call
while (!dbHasCompleted(rs)){
 df<- dbFetch(rs, n=20)
}
# OR Fetch all rows in one go
df = dbFetch(rs, n=-1)

# Free all resources
dbClearResult(rs) 
# Close connection
dbDisconnect(con)
# df will contain results i.e.
df
#   ID Truck_ID Speed trip_id
#1  11  TTI 039     6     217
#2  12  TTI 039     6     217
# ........



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Phần mở rộng GIS cho Doctrine 2

  2. Cách lấy dữ liệu của bảng đã kết hợp bằng phương thức query ()

  3. Toán tử '<' được dành riêng Lỗi PowerShell

  4. Làm việc với Trigger trong Cơ sở dữ liệu MySQL - Hướng dẫn

  5. Một số tùy chọn lưu trữ liên tục tốt, nhanh chóng cho dữ liệu khóa-> giá trị là gì?