sql >> Base de Datos >  >> RDS >> Mysql

¿Cuál es la forma correcta de contar los comentarios, las visitas y los me gusta de un artículo en un índice de artículos?

Lo mejor sería admitir la redundancia en este caso, para mejorar la velocidad. A la tabla de noticias, agregue estos campos:

comments_count int not null default 0,
likes_count int not null default 0,
hits_count int not null default 0

Cuando se agrega/elimina un comentario/me gusta/hit, si la base de datos admite disparadores, active un incremento/decremento del contador al que se hace referencia y, si no, hágalo manualmente en cada inserción/eliminación (¿procedimiento almacenado tal vez?).

Este tipo de datos se lee con mayor frecuencia que se escribe, por lo que optimizar la velocidad de lectura, reducir la velocidad de escritura y el espacio de almacenamiento no es gran cosa.

De vez en cuando, estaría bien ejecutar una consulta que actualice estos contadores si por algún motivo se vuelven erróneos.