Я не уверен, почему вы сохраняете «количество лайков» в таблице User_Wallpaper
(может ли пользователь «лайкнуть» обои более одного раза?), Но вместо того, чтобы создавать новую таблицу для wall_stats
,Я бы сделал wall_stats
представление:
CREATE TABLE User_Likes_Wallpaper (
userId NUMBER(10) not null,
wallpaperId NUMBER(10) not null);
CREATE VIEW Wall_stats AS
SELECT wallpaperId, count(*)
FROM User_Likes_Wallpaper
GROUP BY wallpaperId
Таким образом, wall_stats всегда актуален ... (хотя вам, вероятно, нужны индексы на User_Likes_Wallpaper
)