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?
Sadece takip ettiklerimizin verileri
3
●300
- 25-01-2013, 23:03:52Kimlik doğrulama veya yönetimden onay bekliyor.
- 25-01-2013, 23:19:28Evet farkındayım. Alternatif ve daha performanslı çözümlerinizi bekliyorum.PsdBul adlı üyeden alıntı: mesajı görüntüle
- 26-01-2013, 03:35:54Üyeliği durdurulduIn kullanmayi deneyebilirsiniz bence
http://www.tutorialspoint.com/mysql/mysql-in-clause.htm
Ve
http://stackoverflow.com/questions/7...in-performance