【问题标题】:Does laravel database seeding have a limit?laravel 数据库播种有限制吗?
【发布时间】:2018-12-05 11:09:27
【问题描述】:

我有一个程序,一年内总共将插入大约 500000 个数据库条目。如果我有 2 年的数据,我正在尝试对其进行测试以确保一切正常?但是,当我运行我的数据库播种机时,它会在碰到该播种机时取消。

这就引出了一个问题,在使用 laravel 播种机和 faker 库时,您可以在 MySQL 数据库中存储的条目数量是否有上限?因为这个播种器确实适用于较少数量的条目,例如1000。

查看 faker 库中的数据,它似乎没有指定这一点。还查看了文档,没有提到大小限制。

https://laravel.com/docs/5.6/seeding

https://github.com/fzaninotto/Faker

【问题讨论】:

  • php 可能超时.. 您可能想查看您的 ini 文件并(暂时)增加超时时间,看看这是否可能是您的问题.. 还有您的网络服务器日志说什么?
  • @Zak 我认为通过 CLI 执行是无限的?
  • max_timoutmax_execution_time 不同——max_execution_time 适用于 CLI ..
  • 有一个我用过的包叫orangehill/iseed (github.com/orangehill/iseed),它的底部有以下内容:"请注意,有些用户遇到了大型数据库表导出的问题(从包含许多记录的表中播种时出错)。通过将输入数据拆分为每个插入语句的较小元素块来解决该问题。" 您可能会遇到类似的情况;你能把你的插入语句砍掉吗?
  • @TimLewis 看起来 laravel 允许我做的最大数量是每个种子大约 50000 个条目,我想这是由于内存容量。

标签: php mysql laravel laravel-5 faker


【解决方案1】:

Mysql有一个真正的限制,叫做“TimeOut”。

在 mysql 中有许多变量,例如 delayed insert limittimeoutquery cache limit 和其他变量,总体上是在部分时间插入许多查询的限制。

例如看看这个Mysql Server System Variables

【讨论】:

    猜你喜欢
    • 2015-09-25
    • 1970-01-01
    • 2018-05-20
    • 2016-02-10
    • 2019-03-01
    • 2017-11-27
    • 2021-04-01
    • 1970-01-01
    相关资源
    最近更新 更多