CTE-запрос занимает вечно, чтобы загрузить - PullRequest
0 голосов
/ 06 октября 2019

Я создаю MLM-приложение с помощью laravel и использую https://github.com/staudenmeir/laravel-adjacency-list Моя таблица очень проста:

Schema::create('user_relations', function (Blueprint $table) {
            $table->integer('id')->primary();
            $table->integer('parent_id');
            $table->integer('status')->default(0);
            $table->timestamps();
            $table->softDeletes();
        });

, и я выполняю запрос следующим образом:

$total = \App\User_relation::find($parent_id);

if ($total)
    return $total->descendants()->count();
return 0;

Модель отношения пользователя:

namespace App;

use Illuminate\Database\Eloquent\Model;
use Staudenmeir\LaravelAdjacencyList\Eloquent\HasRecursiveRelationships;

class User_relation extends Model
{
    use HasRecursiveRelationships;
}

Отлично работает до 13000 записей, но я тестирую 36000 записей с одним и тем же кодом и загружается вечно. В чем может быть проблема и как я могу ее решить? при тестировании с 13000 записей это заняло 186 секунд.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...