У меня есть следующие запросы:
SELECT a.Id, a.Name, (SELECT COUNT(Id) FROM b WHERE b.IdTableA = a.Id) AS Num
FROM a
ORDER BY a.Name
таблица b имеет FK для таблицы a (IdTableA). В этом случае это эффективно?Есть ли другой способ сделать это?
Другой вопрос:
SELECT client.Id, client.Name
,(SELECT SUM(projects) FROM projects WHERE IdClient = client.Id) AS projects
FROM client
Как насчет этого?
Иногда нам нужно использовать более одного вычисляемого столбца(ВЫБЕРИТЕ СУММУ), даже 10 или 15.
Мы очень обеспокоены производительностью, поскольку в табличных проектах может быть более 500 тыс. Записей.
Я читал, что хранение этих SUMS в таблицеи обновите эту таблицу, когда изменения данных могут улучшить производительность.Но это идет вразрез с нормализацией ...
Пожалуйста, помогите мне с обоими запросами ...
Спасибо