什么';通过rails,mysql查询的最大大小是多少?
我似乎不能很好地表达这个问题,用谷歌搜索答案 MySQL 5.1查询的最大长度是多少?此外,是否有相关的Rails 3限制 我有5000多个电子邮件地址,需要从数据库中获取相关的用户ID。我的偏好是一次完成所有任务,比如:什么';通过rails,mysql查询的最大大小是多少?,mysql,ruby-on-rails,ruby-on-rails-3,Mysql,Ruby On Rails,Ruby On Rails 3,我似乎不能很好地表达这个问题,用谷歌搜索答案 MySQL 5.1查询的最大长度是多少?此外,是否有相关的Rails 3限制 我有5000多个电子邮件地址,需要从数据库中获取相关的用户ID。我的偏好是一次完成所有任务,比如: emails = get_emails # an array of strings User.select(:id).where("email in (#{emails * ','})") 即使这对5000人有效,我想确保有一天它对50000人有效。那么查询有多大呢?如果它
emails = get_emails # an array of strings
User.select(:id).where("email in (#{emails * ','})")
即使这对5000人有效,我想确保有一天它对50000人有效。那么查询有多大呢?如果它们不能那么大,那么下一个获得这些ID的最佳方法是什么?只是分批做同样的事情
为此,我更关心的是官方支持的限制,而不是在当前版本上工作时发生的任何事情。您可以以“分片”的方式完成这项工作——您只需要受到内存量的限制 例如,在Object1中存储记录1..10000,在Object2中存储记录10001..20000。。。等
从这个意义上讲,rails查询长度没有限制,您可以通过“分片”的方式来实现这一点,您只需要受到内存量的限制 例如,在Object1中存储记录1..10000,在Object2中存储记录10001..20000。。。等
从这个意义上讲,rails查询长度没有限制,这取决于MySQL配置中的
max\u allowed\u数据包设置。这是MySQL服务器将接受的字节数
我同意佩卡的观点,要想知道你能做的有多大,最好的办法就是试着用假值
此外,您可以这样编写该查询:
User.select(:id).where(:email => emails)
Rails将自动执行
查询中的。取决于MySQL配置中的max\u allowed\u packet
设置。这是MySQL服务器将接受的字节数
我同意佩卡的观点,要想知道你能做的有多大,最好的办法就是试着用假值
此外,您可以这样编写该查询:
User.select(:id).where(:email => emails)
Rails将在
查询中自动执行。最简单的方法可能是使用50000(假的)进行尝试entries@Pekka,我打算这样做,但请看最后一句。Rails没有限制,但您的数据库最终可能会遇到性能限制。最简单的方法可能是试用50000(假的)entries@Pekka,我打算这么做,但请看最后一句话。Rails没有限制,但最终可能会在数据库中遇到性能限制。