Я пытаюсь сгенерировать таблицу рейтинговых мест, используя следующую квитанцию
Назначение мест в рейтинге (MySQL, PHP)
но моя база данных сильно загружена.
Я попытался не создавать таблицу, а использовать MEMORY TABLE и обновить ее, используя следующий запрос SQL
вставить в tops (uid) выбрать uid из порядка пользователей по exp desc;
но получил следующую ошибку MySQL
Обнаружен тупик при попытке получить блокировку; попробуйте перезапустить транзакцию
потому что слишком много запросов, пока не выполняется SQL select.
Как решить эту проблему?
P.S. CREATE TABLE tops при SELECT работает почти нормально, за исключением высокой нагрузки на сервер ... до средней нагрузки: 50, если вершины не являются таблицами памяти.
У моих пользователей таблицы около 4,5 миллионов строк.
Спасибо за любые советы.