加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 在Ruby中读取大文件的最快方法是什么?

发布时间:2020-12-16 23:11:39 所属栏目:百科 来源:网络整理
导读:我已经看到了这个问题的答案,但我无法弄清楚哪个答案会以最快的速度完成.这些是我见过的答案 – 哪个最好? 使用each或each_line一次读取一行 使用gets一次读取一行 使用readlines将所有内容保存到一个行数组中,然后使用每个行 使用grep(不确定与grep究竟有
我已经看到了这个问题的答案,但我无法弄清楚哪个答案会以最快的速度完成.这些是我见过的答案 – 哪个最好?

>使用each或each_line一次读取一行
>使用gets一次读取一行
>使用readlines将所有内容保存到一个行数组中,然后使用每个行
>使用grep(不确定与grep究竟有什么关系……)
>使用sed(不确定与sed究竟有什么关系……)
>还有别的吗?

另外,使用另一种语言或Ruby应该没问题会更好吗?

编辑:

更多细节:每行包含类似“id1 attr1_1 attr2_1 id2 attr1_2 attr2_2 … idn attr1_n attr2_n”(n非常大),我需要将它们插入数据库.对于该示例行,我需要在数据库中插入n行.

解决方法

Ruby可能会使用相同或非常相似的低级代码(用C语言编写)来从磁盘实际读取前三个选项,因此它们应该执行类似的操作.鉴于此,您应该选择最适合您的方式;这样做的能力使像Ruby这样的语言非常有用!您将从磁盘读取大量数据,因此我建议您在阅读时使用each_line并处理每一行.

我不建议将grep,sed或任何其他此类外部实用程序添加到图片中,除非您有充分的理由,因为它们会使您的代码不那么便携,并使您面临可能难以诊断的故障.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读