Я создаю 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 секунд.