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