PsiCat adlı üyeden alıntı: mesajı görüntüle
video_id  key     value
1         yorum    kapali
2         yorum    acik
Verdiğiniz örnekten edindiğim izlenim kadarı ile; yukarıdaki tablo verisi, kötü yapılandırılmış bir tablo şemasını gözler önüne seriyor. Öncelikle "video_ekleri" gerçekten gerekli bir tablo mu? Eğer tablodaki 'oto', 'reklam', 'yorum' ve 'tarih' gibi alanlar "video" tablosu ile bire-bir ilşiki içerisinde ise, mantıken "video_ekleri" tablosundaki satırların, "video" tablosunda sütün olarak belirlenmeleri daha gerçekçi. Bu satırlar dışında kalacak olan ve videolar tablosuna sütün olarak eklenemeyecek satırlar varsa, bunları da "metalar" tablosu altında herhangi bir "key" belirtmeden direkt toplamanızı öneririm.

Eğer "meta" dediğiniz bilgiler, "video_ekleri" tablosundaki değerler ise istediğiniz sonuçları şu şekilde alabilirsiniz;
SELECT *
FROM ((SELECT * from videolar limit 5) t1)
INNER JOIN video_ekleri t2 ON t1.id = t2.video_id
Eğer gerekli index düzenlemelerini yaparsanız herhangi bir performans sorunu ile karşılaşmazsınız ancak, yine de, öncelikle tablo yapılarınızı tekrar gözden geçirmenizi öneririm. Mantığa daha uygun bir tablo yapısı ile, daha basit bir sorgu kullanarak, daha fazla performans elde edebilirsiniz.

Çok teşekkür ederim, PsiCat. Tam olarak istediğim şey buydu

Veritabanı düzeltme şansım şuanda bulunmuyor. Sonradan ekstra alanlar çıkabilir diye yapıyı bu şekilde yapmıştım. Key belirtmeden direk verileri serialize etmek de mantıklı fakat, o tabloya göre de listeleme yapıyorum. IN kullanıyorum orada da. Örnek olarak, reklam açık olanları listeleme yapmak gibi.

Tekrar teşekkür ediyorum vaktinizi ayırdığınız için.