MySQL Несколько вызовов timestamp () в процедуре дает один и тот же результат - PullRequest
0 голосов
/ 20 апреля 2019

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

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

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

1 Ответ

1 голос
/ 21 апреля 2019

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...