对不起,如果有人问这个问题,我环顾四周,但并没有真正找到我想要的东西。
我正在使用ruby和mysql来创建一个基于mysql表中单个列的数组。例如,假设我有一列用户名:
users = [] #declare array
users.clear #clear array so that it remains so fresh and so clean on each restart
# Update the list of users to follow
res = dbh.query("SELECT user FROM usernameDB")
while row = res.fetch_row do
users << row[0] #adds each user to the array
end
直到现在,当我们开始接收更多用户时,这已经很好了。现在代码给了我未知的错误。
在尝试进行故障排除时,我只是注释掉了大部分内容并使用几个用户名构建了数组,一切都恢复了。所以我的问题是,ruby数组中的数量或项目是否有限制?
谢谢!
答案 0 :(得分:5)
Ruby没有强加软件限制,但是流程可以支持多少限制。如果你有一个运行Ruby服务器的常规家庭服务器,它将能够处理一个数组,直到数组变得太大,此时它将开始“陷入困境”,滞后,崩溃等。另一方面,如果你有一个非常强大的企业服务器,它可以处理一个更大的数组,但如果数组变得太大而无法处理进程和硬件(内存),它仍会最终崩溃/滞后。
我没有任何具体的数字,因为这完全取决于服务器上的硬件和软件。
答案 1 :(得分:3)
看一下这篇文章:Array size too big - ruby。 6亿的规模太大,但有5亿人工作。
您使用的阵列有多大?问题可能是你的内存不足!