| İşlem | Strateji A (İki Fiyat) | Strateji B (Runtime) | Fark |
|---|---|---|---|
| Database Query | 0.8ms | 0.8ms | Aynı |
| PHP Processing (100 ürün) | 0.5ms | 0.51ms (+0.01ms) | İhmal edilebilir |
| Toplam (100 ürün) | 1.3ms | 1.31ms | %0.7 fark |
| Memory (100 ürün) | 2.4 MB | 2.38 MB | -20KB |
Strateji A: 0.65ms
Strateji B: 0.655ms
Sonuç: Kullanıcı için fark edilemez (0.005ms = 5 mikrosaniye)
| Senaryo | Strateji A (İki Fiyat) | Strateji B (Runtime) |
|---|---|---|
| Fiyat güncelleme | 2 alan update (0.3ms) | 1 alan update (0.2ms) |
| KDV oranı değişimi | TÜM ürünler update (120ms) | Sadece tax_rate (0.2ms) |
| Toplu fiyat değişimi (100 ürün) | 30ms | 20ms |
Strateji A: 1.021 ürün × 2 alan update = ~120ms + sync riski
Strateji B: Sadece tax_rate update = ~0.2ms + otomatik
Örnek: KDV %20 → %18 olursa, Strateji B'de tek bir alan güncellenince TÜM fiyatlar otomatik güncellenir!
| Metrik | Strateji A | Strateji B | Fark |
|---|---|---|---|
| Database Boyutu (1.021 ürün) | ~16KB ekstra | 0KB ekstra | -16KB |
| Index Sayısı | 2 index (her iki fiyat) | 1 index (price_without_tax) | -1 index |
| Cache Hit Rate | %95 | %95 | Aynı |
Laravel Model Cache: Accessor'lar da cache'e dahil edilir.
Sonuç: İlk yüklemeden sonra HER İKİ STRATEJİ de aynı hızda çalışır.
Strateji A: 0.65ms (50 ürün × 0.013ms)
Strateji B: 0.655ms (50 ürün × 0.0131ms)
Fark: 0.005ms (5 mikrosaniye) - Fark edilemez!
Strateji A: 2.6ms
Strateji B: 2.62ms
Fark: 0.02ms (20 mikrosaniye) - Fark edilemez!
Strateji A: 150ms (500 ürün × 2 alan × 0.15ms)
Strateji B: 100ms (500 ürün × 1 alan × 0.2ms)
Fark: 50ms daha hızlı (%33 kazanç)
Strateji A:
Strateji B:
Kazanç: 600x daha hızlı + Sıfır risk!
Admin panelde her iki alan da gösterilecek, kullanıcı hangisine girerse otomatik hesaplama yapılacak.
Tek fark: Database'e sadece price_without_tax kaydedilecek, price_with_tax runtime'da hesaplanacak.
| Metrik | Strateji A | Strateji B | Kazanan |
|---|---|---|---|
| SELECT Hızı | 1.30ms | 1.31ms | Berabere |
| UPDATE Hızı | 0.3ms | 0.2ms | Strateji B |
| KDV Değişimi | 120ms | 0.2ms | Strateji B |
| Storage | +16KB | 0KB | Strateji B |
| Tutarlılık | Risk var | Garanti | Strateji B |
| Bakım Kolaylığı | Orta | Kolay | Strateji B |
SKOR: Strateji B (5) - Strateji A (0) - Berabere (1)
Onayınız:
price_without_tax + tax_rateprice_with_tax accessor ile runtime'da hesaplanacakshop_product_tax setting'e göre gösterimOnaylıyor musunuz? "UYGUNDUR" derseniz migration + kod hazırlayacağım.