|
Виртуальные и невиртуальные вычисляемые столбцы
|
|||
---|---|---|---|
#18+
Доброго времени суток, ребята! Подскажите, если я у вычисляемого столбца укажу, что он STORED, данный столбец будет рассчитываться и при добавлении строки и при обновлении строки или только при добавлении строки? Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:17 |
|
Виртуальные и невиртуальные вычисляемые столбцы
|
|||
---|---|---|---|
#18+
Vlad__i__mir, вас интересует, есть ли оптимизация пропускающая вызов функции, если аргументы не изменились? Сомневаюсь, честно говоря. Но точно не скажу. Меня убивает привычка mysql делать крупные изменения в минорных релизах... Впрочем сомневаюсь, что у вас стоит ещё не вышедший 8.0.16, так что хочу отметить, что помимо неверного in (.. NULL) сравнения (такое выражение всегда NULL) ваш CHECK не проверяется никак. На случай если вы на него рассчитываете, а не просто так писали. Ну и для ограниченного списка строк лучше enum ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:56 |
|
Виртуальные и невиртуальные вычисляемые столбцы
|
|||
---|---|---|---|
#18+
Vlad__i__mirданный столбец будет рассчитываться и при добавлении строки и при обновлении строки или только при добавлении строки?Вы же указываете - GENERATED ALWAYS. Зачем спрашивать? Впрочем, эта характеристика чисто декоративная - её удаление ни на что не влияет... Да, пересчитывается при любом изменении. Vlad__i__mirесли я у вычисляемого столбца укажу, что он STORED, данный столбец будет рассчитываться и при добавлении строки и при обновлении строки или только при добавлении строки?STORED влияет на совершенно иную характеристику. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:56 |
|
Виртуальные и невиртуальные вычисляемые столбцы
|
|||
---|---|---|---|
#18+
Melkijвас интересует, есть ли оптимизация пропускающая вызов функции, если аргументы не изменились? Сомневаюсь, честно говоря. Но точно не скажу.Пять минут эксперимента - и ответ готов. Впрочем, он и так известен - да, оптимизация есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 12:57 |
|
Виртуальные и невиртуальные вычисляемые столбцы
|
|||
---|---|---|---|
#18+
Akina, авторSTORED влияет на совершенно иную характеристику. А я из интернета понял, что на эту. Поправьте меня пожалуйста и скажите на какую характеристику он влияет? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:15 |
|
Виртуальные и невиртуальные вычисляемые столбцы
|
|||
---|---|---|---|
#18+
Melkij, MelkijВпрочем сомневаюсь, что у вас стоит ещё не вышедший 8.0.16, так что хочу отметить, что помимо неверного in (.. NULL) сравнения (такое выражение всегда NULL) ваш CHECK не проверяется никак. На случай если вы на него рассчитываете, а не просто так писали. поправьте меня пожалуйста, покажите как верно прописать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:18 |
|
Виртуальные и невиртуальные вычисляемые столбцы
|
|||
---|---|---|---|
#18+
AkinaMelkijвас интересует, есть ли оптимизация пропускающая вызов функции, если аргументы не изменились? Сомневаюсь, честно говоря. Но точно не скажу.Пять минут эксперимента - и ответ готов. Впрочем, он и так известен - да, оптимизация есть. не, за 5 минут я могу не вспомнить, как функции в mysql пишутся. А ещё надо поставить mysql 8.0, в общем лениво. Vlad__i__mirавторSTORED влияет на совершенно иную характеристику. А я из интернета понял, что на эту. Поправьте меня пожалуйста и скажите на какую характеристику он влияет? stored влияет на то, что значение вычисляется при записи и хранится физически. В отличии от virtual, который вычисляется при обращении к нему и никак не хранится. Vlad__i__mirMelkij, MelkijВпрочем сомневаюсь, что у вас стоит ещё не вышедший 8.0.16, так что хочу отметить, что помимо неверного in (.. NULL) сравнения (такое выражение всегда NULL) ваш CHECK не проверяется никак. На случай если вы на него рассчитываете, а не просто так писали. поправьте меня пожалуйста, покажите как верно прописать? Никак, т.к. в вышедших версиях mysql check банально нет. Синтаксически он есть, но полностью игнорируется. А в целом выражение, если я верно поминаю что вы хотели получить: Код: sql 1.
Или Код: sql 1.
т.к. для check null - допустимое значение по стандарту. В отличии от where, где null рассматривается как повод исключить строку. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2019, 13:36 |
|
|
start [/forum/topic.php?fid=47&msg=39766465&tid=1829340]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
2ms |
others: | 295ms |
total: | 525ms |
0 / 0 |