MySQL Несколько вызовов timestamp () в процедуре дает один и тот же результат

0

В процедуре, которую я делаю 1. Установите переменную с именем start в timestamp(). 2. сделать что-нибудь, например вставить 1 000 000 строк в таблицу 3. установить другую переменную с именем "stop" в timestamp(); 4. сравнить "старт" с "стоп". они одинаковы, они одинаковы.

Я секундомер приурочил к вставке, это заняло около минуты.

Я прочитал руководство по MySQL, которое в принципе бесполезно. Реальная документация по функциям должна содержать - тип возвращаемого значения, имя функции и параметр (использование и тип). Также могут быть полезны дополнительные условия.

  • 1
    Нет timestamp() без аргументов. Вы имеете в виду current_timestamp() ? Это объяснено в документации должным образом
  • 3
    «Я прочитал руководство по MySQL, которое бесполезно». я не согласен с тем, что руководство по MySQL довольно полезно ... "Реальная документация функций должна содержать - возвращаемый тип, имя функции и параметр (использование и тип)", если я смотрю здесь, я вижу эти вещи .. Также мы не знаем то, о чем вы говорите, опубликуйте ваш код процедуры по крайней мере ..
Показать ещё 2 комментария
Теги:
datetime
timestamp
procedure

1 ответ

0

Документация для NOW() говорит

NOW() возвращает постоянное время, которое указывает время, когда оператор начал выполняться. (Внутри хранимой функции или триггера NOW() возвращает время, когда функция или запускающий оператор начали выполняться.) Это отличается от поведения для SYSDATE(), которая возвращает точное время, в которое она выполняется.

Я предполагаю, что вы используете CURRENT_TIMESTAMP(), потому что TIMESTAMP() требует один или два аргумента. Первый является синонимом NOW().

Если вы хотите поместить код измерения времени в хранимую процедуру или функцию, SYSDATE() - это функция для вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню