Гость
Форумы / MySQL [игнор отключен] [закрыт для гостей] / virtual/stored columns в таблицах за и против / 4 сообщений из 4, страница 1 из 1
12.08.2020, 13:46
    #39989020
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
virtual/stored columns в таблицах за и против
Привет!
Познакомился недавно с вычисляемыми полями на уровне таблицы . С virtual/stored . Потестировал, почитал про ограничения на сайте mysql.
Подскажите пожалуйста, есть ли их смысл вообще использовать? Или правильней работать с вычисляемыми значениями уже из view. А сами таблицы не трогать?
...
Рейтинг: 0 / 0
12.08.2020, 15:56
    #39989068
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
virtual/stored columns в таблицах за и против
Сергей Лалов
есть ли их смысл вообще использовать?
Да.

Stored - используются в основном для частовычисляемых выражений, особенно если те используются при связывании. Virtual - в основном только для индексируемых выражений для связывания.

Сергей Лалов
Или правильней работать с вычисляемыми значениями уже из view.

Если стоИт задача максимальной производительности, и при этом не стоИт задача блокирования прямого доступа к данным, то про слово VIEW можно смело забыть. Впрочем, эту последнюю функцию с успехом выполняют хранимые процедуры - если не надо получаемый набор записей использовать как источник данных другого запроса.
...
Рейтинг: 0 / 0
13.08.2020, 00:16
    #39989176
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
virtual/stored columns в таблицах за и против
Akina,
Спасибо за ответ!)
Провел пару тестов с данным полем на стороне клиента. После линковки таких таблиц. Шустро отрабатывают. И индексировать можно. С virtual все ясно, немного не понял про отличия от stored. Ведёт при редактировании себя также.
Насколько понимаю virtual рассчитывает вычисляемое значение при выборке (на момент обращения типа select) а stored во время редактирования, и + stored сохраняет вычисленное значение в этом поле, для дальнейшей работы с ним.
Интересная технология.
...
Рейтинг: 0 / 0
13.08.2020, 07:32
    #39989206
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
virtual/stored columns в таблицах за и против
Сергей Лалов
С virtual все ясно, немного не понял про отличия от stored.
Stored - хранится в теле таблицы, virtual - нет.
Stored ничем не отличается от обычного поля, кроме того, что его значение рассчитывается, а не вставляется. Т.е. это поле должно заведомо отсутствовать в списке полей запроса на добавление (и соответственно уже не получится INSERT INTO table VALUES/SELECT - перечисление полей обязательно), и это поле нельзя обновлять.
Virtual вообще не хранится в теле таблицы и либо рассчитывается в момент, когда его запрашивают, либо, извлекается из индекса, если таковой существует. Впрочем, оптимизатор запросто может организовать расчёт, если значение хоть есть в индексе, но этот индекс не используется в плане выполнения.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / virtual/stored columns в таблицах за и против / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]