Performance: Seeding data
MEDIUM IMPACT
Seeding data affects initial database setup speed and can impact server response time during development or testing.
<?php use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; class DatabaseSeeder extends Seeder { public function run() { $users = []; for ($i = 0; $i < 10000; $i++) { $users[] = [ 'name' => 'User ' . $i, 'email' => 'user' . $i . '@example.com', 'password' => bcrypt('password'), ]; } DB::table('users')->insert($users); } }
<?php use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; class DatabaseSeeder extends Seeder { public function run() { for ($i = 0; $i < 10000; $i++) { DB::table('users')->insert([ 'name' => 'User ' . $i, 'email' => 'user' . $i . '@example.com', 'password' => bcrypt('password'), ]); } } }
| Pattern | Database Calls | Execution Time | Server Load | Verdict |
|---|---|---|---|---|
| Single inserts in loop | 10,000 calls | High | High | [X] Bad |
| Batch insert all records | 1 call | Low | Low | [OK] Good |