Задать вопрос
@Igorek98

Лучше делать перезапись в столбец или оставлять вычислением?

Столкнулся с такой мыслью.
У нас есть столбец, значения которого мы можем вычислять для получения результата.
(взять значение одного, сложить с другим, умножить на третье и добавить четвертое).

Но не будет ли лучше, если мы его будет всегда перезаписывать и сохранять для поиска по нему в отдельном столбце?
Или подсчёт 2-4 значений из разных столбцов не нагружают особо БД и лучше это значение оставить вычисляемым?
  • Вопрос задан
  • 73 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вы можете создать вычислимое поле (generated column), как хранимое, так и виртуальное.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@DimaIs
Тут стоит исходить из того, что операции create/update происходят единожды и с одной конкретной строкой, в отличие от того же чтения. Гипотетический пример: у нас есть N записей, для их создания нам N раз придется складывать M столбцов. Допустим, что таблица у нас неотсортированная и без индексов. Тогда для поиска одного элемента нам придется в среднем N / 2 раз сложить M столбцов, что уже даже при единичных операциях поиска убьет весь наш "выигрыш" от отказа вычислять эти столбцы при создании/обновлении. Выбор очевиден
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы