Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel chunk() vs cursor() vs lazy() — Büyük Verileri Sunucunuzu Çökertmeden İşleme
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel chunk() vs cursor() vs lazy() — Büyük Verileri Sunucunuzu Çökertmeden İşleme

Yazılım

Laravel chunk() vs cursor() vs lazy() — Büyük Verileri Sunucunuzu Çökertmeden İşleme

teknomers
Son güncelleme: 29 Mayıs 2026 06:52
teknomers
Paylaş
Paylaş

Büyük miktarda veriyi Laravel ile işlerken bellek hataları ya da sunucu zaman aşımı sorunları ile karşılaştıysanız, bu makale tam size göre.

Bu durumu, büyük bir CSV verisinin üretim ortamında Apache zaman aşımı hatalarına neden olmasıyla öğrendim. İşte sonuçta karşılaştığım problemler.


Problem

// ❌ Bu büyük tablolar için çökmesine neden olur
$users = User::all();
foreach ($users as $user) {
    // işle...
}

all(), tüm satırları bir kerede belleğe yükler. 100,000+ satırda sunucunuz bellek yetersizliğinden dolayı hata verecektir.


1. chunk() — Partlar Halinde İşleme

User::chunk(500, function ($users) {
    foreach ($users as $user) {
        // 500 satırı bir kerede işler
    }
});

✅ Bellek düşük kalır

✅ Arka plan işleri için uygundur

⚠️ chunk() içinde satırları değiştirmeyin/silin, kayıtlarda atlamalara yol açabilir.

⚠️ Birden fazla SQL sorgusu gerçekleştirir.

Kullanım alanları: e-posta gönderimleri, arka plan işlemleri


2. chunkById() — chunk()’ün Daha Güvenli Versiyonu

User::chunkById(500, function ($users) {
    foreach ($users as $user) {
        // satır güncellerken güvenli
    }
});

✅ Satırları güncellemek/silmek için güvenlidir

✅ chunk()’ten daha güvenilir

Kullanım alanları: büyük miktarda kayıt güncelleme veya silme


3. cursor() — Tek Satır İşleme

foreach (User::cursor() as $user) {
    // bir satırı işler
}

✅ Bellek verimliliği en yüksek

✅ Sadece bir SQL sorgusu

❌ Eager loading kullanılamaz (with())

❌ Veritabanı bağlantısı sürekli açık kalır

Kullanım alanları: salt okuma işlemleri, CSV dışa aktarma


4. lazy() — İki Yöntemin En İyisi

foreach (User::lazy() as $user) {
    // arka planda parçalar, cursor() gibi hissettirir
}

✅ Bellek verimliliği

✅ Eager loading (with()) destekler

✅ Daha temiz bir sözdizimi

// Eager loading ile ✅
User::with()->lazy()->each(function ($user) {
    // işle
});

Kullanım alanları: cursor() kullanmanız gerektiğinde fakat ilişkilerin de yüklenmesi gerektiğinde


Hızlı Karşılaştırma Tablosu

YöntemBellekSQL Sorgularıwith()’ü DesteklerDeğiştirmeye Güvenli?
all()❌ Yüksek1✅✅
chunk()✅ DüşükBirden Fazla✅⚠️ Hayır
chunkById()✅ DüşükBirden Fazla✅✅ Evet
cursor()✅ En Düşük1❌✅
lazy()✅ DüşükBirden Fazla✅✅


Gerçek Dünya Örneğim

Bu, CSV dışa aktarma üzerindeki Apache zaman aşımı sorunumu çözdü:

// ❌ Önce — zaman aşımına neden oldu
$users = User::all();

// ✅ Sonra — mükemmel çalışıyor
foreach (User::cursor() as $user) {
    fputcsv($handle, [
        $user->name,
        $user->email,
        $user->created_at
    ]);
}


Özet

  • chunk() — toplu işler, e-posta gönderimleri
  • chunkById() — toplu veri değiştirme işlemleri
  • cursor() — okuma temelli işlemler, CSV dışa aktarmalar, en yüksek bellek verimliliği
  • lazy() — cursor() ile ilişkilendirilmiş yüklemeleri gerektiğinde

Daha derinlemesine bilgi istiyorsanız, ücretsiz Laravel eğitim sitemdeki tam derse göz atabilirsiniz:
https://php-laravel-tutorials.netlify.app/lesson-laravel-large-data

Kaynak: Orijinal Makale

Contents
  • Problem
  • 1. chunk() — Partlar Halinde İşleme
  • 2. chunkById() — chunk()’ün Daha Güvenli Versiyonu
  • 3. cursor() — Tek Satır İşleme
  • 4. lazy() — İki Yöntemin En İyisi
  • Hızlı Karşılaştırma Tablosu
  • Gerçek Dünya Örneğim
  • Özet
Claude Opus 4.7: Laravel AI SDK Geliştiricilerinin Güncellemeden Önce Kontrol Etmesi Gerekenler
WPBones v2 — Webpack Sürümü
Freebuff Paradoksu: Seçkin Kod Eleştirmeni, Korkunç Laravel Programcısı
Laravel Boost AI ile Tam Bir Blog Platformu Oluşturma: AI Destekli Geliştirmede Yeni Bir Dönem
Cyberpunk 2077’de artık bir mod sayesinde metro sistemine binebilirsiniz.
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Samsung Display, dünyanın ilk 360 Hz 4K QD-OLED panelini tanıttı
Sonraki Makale Sandisk, uygun fiyatlı depolama ile SSD krizini aşıyor: Yeni 320 ve 520 SATA SSD’ler hazır

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

SwitchBot’un Ayakta Durabilen Dönel Fanı ile Sıcak Havaya Son
Liste
Webhook Fırtınalarını Önlemek: Laravel’de İdempotans
Yazılım
Çin’de 222$’lık sahte RTX 4090 satışı: Gerçek silikon değil plastik
Donanım
ABD enerji düzenleyicisi, veri merkezi projelerini hızlandıracak
Donanım
RTX 5080 Alienware Oyun PC’sinde 1.390$ İndirimle 3.159$!
Donanım
16 yaşındaki SATA II SSD, 1 petabayt yazımda hayatta kaldı
Donanım
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?