10-20к записей
есть отзывы на кадую запись с оценкой в отдельнйо таблички
мне надов ыводитьс колько каких оценток.
какие я вижу варианты
1) деграть кжадый раз отдлеьный запрос а-ля select count(1), vote from ... where item_id = ? group by vote
2) сделать 5 полей в таблчике items vote_1, ..., vote_5 и делать апдейт только при добавлении/удалении оценки
3) сделать объект типа cache = {} и чекать if (!cache[itemId]) { cache[itemId] = votes.fetch(); } return cache[itemId]; а при изменении оценки просто cache[itemId] = null;
В запросе свяжи табличку записей с каунтом отзывам по ним.
можете привести пример таблиц?
ну там типа таблица 1 (ID, Название товара) Таблица 2 (ID_Товара, оценка[от 1 - 5])
Использовать оконные функции или 5 раз join чтоб выбрать всё одним запросом
Обсуждают сегодня