php - Laravel 5 在大型数据库上失败

标签 php mysql performance laravel laravel-5

我正在关注simple ToDo list example学习 Laravel 5。 我完全按照给定的方式设置了代码,对于小型数据库,该应用程序运行得很好。

当我设置我的自定义种子(大数据库)(下面附有文件)时,出现了问题。 当我将项目数设置为~10-50时,该应用程序完美运行。 将其设置在〜1000+范围(1k项目,100k任务)中,我必须多次单击(APP查询URL)才能使删除任务起作用。标准方法deleteupdate失败,只有store有效。知道为什么吗?

我已使用 phpMyAdmin 验证数据库设置正确。我还在删除时设置了Exception 检查。

编辑:我发现 store 操作即使在 100k 数据库上也能完美运行。如果我删除了我刚刚存储的内容(使用 PHP 应用程序),它就会起作用。但是,对于种子条目,删除失败(至少尝试 5 次)。

ProjectsTableSeeder.php

http://pastebin.com/HZrZNQgC

TasksTableSeeder.php

http://pastebin.com/uB03uTTa

TasksController.php

http://pastebin.com/xuACA29B

原始文件(来自教程)是 here .

最佳答案

我相信您试图一次显示太多记录。

尝试将其添加到您的索引方法中。

public function index(Project $project) {
    return view('tasks.index', compact('project'))->paginate(20);;
}

您可以将其显示在您的 View 中。

{!! $project->appends(Request::except('page'))->render() !!}

我不相信还有比这更多的设置。

关于 pagination 的文档相当不错。

如果您还没有 checkout Laracasts每一毛钱都是值得的。

查看Crazy Simple Pagination有关分页的更多信息。

关于php - Laravel 5 在大型数据库上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30382690/

相关文章:

mysql - 在 MySQL 中锁定

performance - 向量化 MATLAB 循环

javascript - 隐藏/显示元素

php - 为什么这个php和MySQL不显示结果

PHP字符串到对象名称

mysql - ERROR 1452 Mysql 正向工程

php - 从 MySQL 数据库中选择 ISO 8601 时间戳

Java 执行器服务

当 null 存在时,SQL 查询返回 null 而不是 SUM

php - 从 jquery 对象数组设置值 php?