Kullanıcı etkinliği (ala facebook) DB yaklaşım.

0 Cevap php

I need to display the users last activity in the website. Reviews posted, images/video uploaded, voted articles and so on...

İki tablo var:

'Kullanıcı kimliği' ile 'user_activity' tablosu, 'datetime', 'ActivityId' ve 'HariciID' sütunlar.

'ActivityId' ve 'faaliyet' ile 'activities' tablo.

O zaman ben o zaman ben de biliyorum ('etkinliklerin masaya bakarak) bir tarih video REEFERS olduğunu biliyoruz' videolar 'olarak adlandırılan üçüncü bir tablodan' videoID 'için HariciID reefers. = 4' ActivityId 'Diyelim ki

Onun incelemesi ardından 'HariciID' esrarlı 'yorumları' tablo 'reviewID' eğer, her bir faaliyet türü için aynı.

Kullanıcı etkinliğini gösteren zaman yalnızca kullanıcı bir görüntü tarih aynı zamanda yüklenen görüntü veya video ya da her türlü göstermek söylemek istemiyorum.

Bu yüzden,

Kullanıcı son etkinlik sorgularken ben iki şekilde veri alabilirsiniz:

1) 'user_activity' tablosundan verileri alın ve sonra, 'ActivityId' bağlı (yorumlar, videolar, resimler ...) dış tablonun her satır için başka bir sorgu yapmak.

2) Büyük bir SOL DIŞ birlikte tüm tabloları (user_activity, yorumları, videolar, resimler ...) JOIN ve ardından 'ActivityId' dayanan, sadece ilgili sütunu kullandığınızdan emin olun.

Ben her faaliyet satır için farklı bir sorgu gerekir çünkü Yani yol 1 DB sorgularının LOT neden olacaktır. Ve yolu 2 BÜYÜK JOIN neden olacaktır.

Artılar Eksiler ve yöntemi ile ilgili herhangi bir iyi tavsiye daha iyi?

0 Cevap