我在R工作,我使用MySQL数据库连接到RMySQL(和DBI) .
我有一个函数,当用户需要时,它会动态读取SQL表(并将它们作为R对象导入) . 他经常可以读表或者长时间不向数据库发送查询,我也不知道 .
允许的唯一SQL操作是读取表(SELECT *,无条件) .
实际上,每次我需要读取新表然后关闭连接时,我都会打开一个新连接 . 但我正在寻找一些建议和最佳实践 .
我确切地说我创建了一个连接函数作为“单例”,以避免并行打开两个连接到同一个数据库 .
重复发送连接请求到数据库是不是很糟糕? (即使先前的连接已关闭)即使没有交互,我可以长时间保持SQL连接打开吗?
1 回答
在98%的情况下,您不应手动管理数据库连接,而应将其留给ActiveRecord以根据需要进行连接 . RMySQL适配器可能已经过优化,可以处理大多数情况 . 注意不要预先优化,只是在严格需要的基础上求助于持久连接