MySQL Многократные вызовы timestamp () в процедуре дают тот же результат

#mysql #datetime #timestamp #procedure

#mysql #datetime #временная метка #процедура

Вопрос:

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

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

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

Комментарии:

1. timestamp() Без аргументов не существует. Вы имеете в виду current_timestamp() ? Это правильно объясняется в документации

2. «Я прочитал руководство по MySQL, которое в принципе бесполезно». я не согласен, что руководство по MySQL на самом деле довольно полезно… «Реальная документация функций должна содержать — возвращаемый тип, имя функции и параметр (использование и тип)» если я посмотрю здесь , я увижу эти вещи.. Также мы не знаем, о чем вы говорите, по крайней мере, опубликуйте свой код процедуры..

3. Добро пожаловать в Stack Overflow. Мы здесь добровольцы, и многие из нас значительную часть своей карьеры вложили в технологию, о которой вы спрашиваете. Вы получите лучшую помощь с такими фразами, как » Я не понимаю «, чем с такими фразами, как «в принципе бесполезно».

4. Как выглядит процедура?

Ответ №1:

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

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

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

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