Para optimizar tu consultas hazlo con JSON
ejemplo
id del usuario: 1
temas de interés [1,4,6,7,10]
- - - Actualizado - - -
Nota: mejorando un poco hazlo asi
ID de usuario: 1
ID de un tema en particular (Ciencias): 15
user_topics: [1,2,6,10,3,15]
topics_hots: { 'id': 15, 'marked_topic': 310 }
relacionalo y usa json decode para obtener los temas mas populares. una vez un usuario seleccione un tema de su interes
agrega al arrelo user_topics el id y agregar a
topics_hots ( marked_topic ++ 1 )
si un tema es señalado numerosas veces sera contado, posteriormente puedes mostrarlo formateando el estilo como usuarios con ese tema en interes o simplemente usarlo como registro para organizar los temas populares. ETC