Merhabalar.

Twitter benzeri basit bir sosyal paylaşım sistemi geliştiriyorum.

Tüm paylaşımları listlemede bir sorun yok. Diyelim ki ID numaram 1. ID numarası 2,3,4,5,6,7 olan kişilerin paylaşımlarını görebiliyorum sadece çünkü sadece onları takip ediyorum.

Sadece bu IDli kişilerin paylaşımlarını görmek için nasıl bir yol izlemeliyim?

Aklıma gelen birkaç farklı yöntem var. Ama hangisinin daha optimal, hızlı ve kullanışlı olacağı konusunda çekincelerim var.

Örneğin en hantal ve basitini ben vereyim. Sizin de fikirlerinizi alayım.

Bir üyeler,bir takip, bir de paylaşımlar tablosu olsun.

uyeler
-id
-username
Örnek; 1-ahmet, 2-mehmet, 3-hasan, 4-burcu vb.

takip
-id
-follower
-following
Örnek; 1-2 (Ahmet mehmeti takip ediyor),1-3 (ahmet hasanı takip ediyor)

paylasimlar
-id
-sharer
-data

Örnek 2-merhaba ben mehmet (mehmetin paylaşımı), 2-merhaba nerelerdesiniz(mehmetin paylaşımı),3-selam ben hasan(hasanın paylaşımı)

Benim ID'm 1 yani ben ahmetim diyelim.Giriş yapınca sadece kendi paylaşımlarımı, mehmet ve hasanın paylaşımlarını göreceğim. Burcununkileri görmeyeceğim çünkü onu takip etmiyorum.



Sorgum şu şekilde.

SELECT * FROM paylasimlar WHERE sharer = '1' OR sharer='2' OR sharer='3' ORDER BY id DESC

bu sorgu 1,2,3,10,15 takip olduğunda sorun çıkarmayabilir. Ancak takip edilen sayısı yükseldikçe sorun çıkacağını düşünüyorum.

Sizin bu konudaki fikirlerinizi alabilir miyim?