Media, SEO, Favorite Pattern'leri ile v4/v5 Karşılaştırması
30 Aralık 2025
Sistemde 3 farklı pattern kullanılıyor. 30.000 playlist gelecek, hangisi daha hızlı?
Fotoğraf/dosya yükleme sistemi. "Bu resim hangi ürüne ait?" sorusunu cevaplar.
Google için sayfa bilgileri. "Bu sayfanın SEO ayarları nerede?" sorusunu cevaplar.
Kullanıcı favorileri. "Kim neleri favoriledi?" sorusunu cevaplar.
30.000 playlist gelecek, ortalama 3-5 kurumsal ilişki = ~100K-150K satır
| Pattern | Tablo Yapısı | Index | Row Boyutu | Kullanım |
|---|---|---|---|---|
| Media | model_type + model_id | Composite + 8 ek index | ~500 byte | One-to-Many (dosya) |
| SEO | seoable_type + seoable_id | Composite + status + score | ~2KB | One-to-One (SEO) |
| Favorite | favoritable_type + favoritable_id + user_id | Composite + Unique constraint | ~300 byte | Many-to-Many |
| v4 Pivot | playlist_id + corporate_id | PRIMARY composite + FK | 16 byte | Many-to-Many (direkt) |
| v5 Poly | playlistable_type + playlistable_id | Composite + playlist_id | ~70 byte | Many-to-Many (unified) |
Media pattern ONE-TO-MANY ilişki içindir. Bir media bir modele aittir.
SEO pattern ONE-TO-ONE ilişki içindir. Bir sayfa bir SEO kaydına sahip.
Media ve SEO pattern'leri farklı ilişki tipleri için tasarlanmış. Playlist-Corporate MANY-TO-MANY ilişkisi için en uygun pattern: