Давайте исправим ваши сообщения об ошибках:
- «Необходимо быть суперпользователем» -
EVENTs
необходимо создать привилегированному пользователю. - «База данных не выбрана»- затем выполните
USE some_db
перед CREATE EVENT
. - «Синтаксические ошибки» - Давайте посмотрим детали.
Вместо преобразования в целое число, вы можете просто сохранить RAND()
в столбце FLOAT
(всего 4 байта).
Что вы будете делать со случайными числами?
Насколько велика таблица?(Будет ли задание завершено через час?)
Если столбец itemRandomize
проиндексирован, это может ускорить процесс:
ALTER TABLE DROP INDEX itemRandomize;
UPDATE ... SET itemRandomize ...;
ALTER TABLE ADD INDEX(itemRandomize);
Я говорю "может"«потому что в последних версиях MySQL произошли значительные изменения (ускорения) в ALTERs
.Я не знаю, догнал ли MariaDB.
Причина, по которой удаление и воссоздание индекса может быть выгодным, заключается в том, насколько дорогостоящим является UPDATE
- он должен удалитьзапись из индекса и вставка новой записи в новом месте.