RMySQL dbReadTable 耗时太长

RMySQL dbReadTable takes too long

我在 R 中使用 RMySQL 包和 DBI 包。 当我 运行 代码时,

dbReadTable(con, "data") 

它要花很长时间。

我认为 table 是非常大的数据。 关于如何加快此过程的任何想法?

谢谢,

尽量让数据库做尽可能多的过滤和处理。数据库比 R 有更多的优化操作的方法,并且不受 RAM 的严格限制。它还减少了必须通过网络传输的数量。

常见的策略是

  • 使用 WHERE 子句减少行数
  • 明确列出(仅必要的)列,而不是使用 *
  • 尽可能多地在 SQL 中进行聚合(例如,GROUP BY + MAX
  • 使用INSERT查询从table写入table,因此数据甚至不需要通过R。

我想 RMySQL 应该比新的 odbc 包更快,但它值得试验。

什么是 'forever'? 5分钟还是5小时?一旦数据到达 R,事情仍然很慢吗?如果事情仍然太慢而不可行,请考虑升级到 sparklyr.