Версия mysql = 8
Не то, чтобы я опытный в mysql, но для меня полтергейст.
Итак занимаюсь, чем умею на практике долблю в одиночку mysql, таблица довольно большая на 10 миллионов строк.
Делаю такой запрос:
SELECT id, time, ROW_NUMBER() OVER (PARTITION BY phone ORDER BY time DESC) AS n FROM sms WHERE
time > NOW() - INTERVAL 6 MONTH AND time < NOW() - INTERVAL 6 HOUR;
Срабатывает норм, в 5-10 секунд укладывается.
Далее добавляю это:
SELECT * FROM (SELECT id, time, ROW_NUMBER() OVER (PARTITION BY phone ORDER BY time DESC) AS n FROM sms WHERE
time > NOW() - INTERVAL 6 MONTH AND time < NOW() - INTERVAL 6 HOUR) t WHERE n <=4;
Тоже нормально.
А теперь просто трындец, пишу так и mysql виснет (не помогает systemctl restart mysql)
И не помогает reboot серверу (только с физической кнопки)
Пробовал на двух разных серверах.
SELECT * FROM (SELECT id, time, ROW_NUMBER() OVER (PARTITION BY phone ORDER BY time DESC) AS n FROM sms WHERE
time > NOW() - INTERVAL 6 MONTH AND time < NOW() - INTERVAL 6 HOUR) t WHERE n=4;
Видимо я что-то делаю не так и не понимаю, но логически мне кажется ничего особенного.