sayısı haylice olan içerikleri keyword'lerle bağlantılandıracağım. daha önce yüzbinlerce entry içeren bir db'de (mysql) LEFT/RIGHT JOIN gibi işlemlerle her içeriğe yönelik birden fazla keyword getirme işleminde toplam row adedi fazla olduğu için yavaşlama sorunları yaşadım. bu yüzden her entry için ilgili keyword'leri ayrı table'da tutmak yerine aynı table'da ek bir field içinde virgülle ayrılmış tutmaya karar verdim. bu sayede her bir entry'ye ait keyword'ler tek basit sorguda elime geçiyor, sonra da ilgili tablodan bu keyword'lerin ne olduğuna baktırıyorum.
yani:
table1:
1,"ahmet"
2,"mehmet"
3,"veli"
4,"ali"
table2:
1,"içerik1","1,3"
2,"içerik2","2,3,4"
3,"içerik3","1,3,4"
gibi. tabii burada hangi içerikte hangi keyword ilişkili diyebilmek için sorgulamada LIKE/REGEX kullanmak gerekmeye başlıyor.
merak ettiğim şu; db düzeni açısından çok temiz olmayan bu yöntem başka yerlerde program logic'i açısından ufak tefek sorunlar yaratabilir; elde edebileceğim performans farkı buna değecek kadar olabilir mi?