MySQL veritabanımda çeşitli kullanıcı bilgilerini saklıyorum. Başlangıçta çeşitli tablolarda kurulmuştu, yani verilerin UserIds ile bağlantılı olduğu ve verileri gerektiği gibi görüntülemek ve işlemek için bazen karmaşık çağrılar yoluyla çıktı olarak verildi. Yeni bir sistem kurmak, tüm bu tabloları büyük bir ilgili içerik tablosunda birleştirmek neredeyse mantıklı.
- Bu bir yardım mı yoksa engel mi olacak?
- Arama, güncelleme veya arama / manipülasyonda hız faktörleri?
İşte tablo yapılarımdan bazılarının bir örneği:
- kullanıcılar - Kullanıcı Kimliği, kullanıcı adı, e-posta, şifreli parola, kayıt tarihi, ip
- user_details - çerez verileri, adı, adresi, iletişim bilgileri, bağlılık, demografik veriler
- user_activity - katkılar, son çevrimiçi, son görüntüleme
- user_settings - profil görüntüleme ayarları
- user_interests - reklamcılık hedeflenebilir değişkenleri
- user_levels - erişim hakları
- user_stats - isabetler, sayımlar
Düzenleme: Şimdiye kadar tüm cevapları yükselttim, hepsinin esasen sorumu cevaplayan unsurları var.
Tabloların çoğu 1: 1 ilişkisine sahiptir, bu da onları normalleştirmenin ana nedenidir.
Bu hücrelerin büyük bir kısmının boş kalması muhtemelken tablo 100'den fazla sütuna yayılırsa sorunlar olacak mı?