我正在尝试从mysql数据库中获取数据帧。

my_db=src_mysql(dbname='****',
                host='****'
                ,port=****,user='****',password='****')


我想从该数据库(在全局环境中显示为2的列表)中提取一个表。

w = src_tbls(my_db)[1]


但是上面的命令给我返回了一个列表。我实际上需要数据框。现在将此列表转换为数据帧需要花费大量时间。

谁能建议我一种直接从数据库中提取数据框并减少代码总执行时间的方法。

最佳答案

我没有src_mysql()的经验,但是您可以尝试使用RODBC包。

这应该为您提供表的数据框,并且鉴于您的SQL语句并不慢,它可能会更快:

library(RODBC)
channel <- odbcConnect("your dsn as character string",
                       uid="****", # Username
                       pwd="****",
                       believeNRows=FALSE)
w <- sqlQuery(channel, "SELECT * FROM YOUR_TABLE")

关于mysql - 将列表(从mysql数据库获取)转换为数据帧需要花费大量时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53113570/

10-12 16:30
查看更多