Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Permintaan mysql berfungsi dengan baik di meja kerja tetapi terlalu lama di r

Solusinya bisa dengan mengganti dbGetQuery dengan dbSendQuery dan dbFetch panggilan.

Langkah-langkah sederhananya bisa berupa:

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. MySql. Cara menggunakan Gabung Sendiri

  2. Kueri Java MYSQL/JDBC mengembalikan data basi dari Koneksi yang di-cache

  3. Model nilai atribut entitas - Alternatif kinerja?

  4. Bagaimana cara MEMILIH baris acak dari tabel dengan jumlah baris yang tepat?

  5. Cara menyalin tabel dari satu database mysql ke database mysql lain