hostovik, Реляционные СУБД как раз оптимизированы для случая, когда все данные не вмещаются в ОЗУ. Именно так они работали всегда, за исключением последних 10 лет. А вот среди NoSQL таких — единицы.
Попробуйте SQLite, если не устроит, MySQL. Но я уверен, что SQLite справится.
alekse31419, mysqli_fetch_array() (или mysqli_fetch_row()) выбирает одну строку. Нужно вызывать ее, пока она не вернет NULL. Это будет означать, что строки в запросе закончились.
Евдоким, Я предложил не решение, а лишь проверку, что решение существует. Но если числа не обязательно целые, тогда нужен другой подход.
Хотя, как вариант, взять за основу прогрессию и рандомно поменять немного. К примеру, в цикле i-е число увеличить на 0.1, а i+1-е уменьшить, сумма останется той же.
Эти проявления мониторить скриптом и если их нет, перезапускать. Скрипт в Планировщик.
В диспетчере задач "не отвечает" обычно пишется, когда главное окно приложения не обрабатывает оконные сообщения. Но в вашем случае не очень понятно, у игрового сервера вообще есть ли окно?
Попробуйте SQLite, если не устроит, MySQL. Но я уверен, что SQLite справится.