mysql - 将列表(从 mysql 数据库获取)转换为数据帧需要大量时间

标签 mysql r performance dataframe

我正在尝试从 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/

相关文章:

r - 如何从作者列表中检索/计算引用计数和/或引用索引?

r - 如何固定 gganimate 中绘图的宽度?

r - 如何为 geom_point 大小添加条件?

设备上的 Android Studio 慢速调试

php - 在 Cakephp 查找查询中转义特殊字符

mysql - pymysql在很长一段时间后失去连接

php - MySql 反向 LIKE 子句

php - 在 php 或 Cakephp 中使用 fgetcsv 导入大型 CSV 文件

java - Android 中的消费者-生产者模式,一些提高性能的建议?

MySQL索引位于where子句和order by子句之间