Как не получить OOM при больших данных?

Middle+
221 просмотров
AFK Offer AI

Правила: никогда SELECT * без LIMIT, используй streaming (rows.Next() вместо загрузки всего), ограничивай размер батча, используй sync.Pool для буферов. Мониторь runtime.MemStats в процессе. Устанавливай GOMEMLIMIT чтобы GC агрессивнее собирал мусор. Для файлов — bufio с фиксированным буфером. Для JSON — json.Decoder с потоковым чтением. Если данные не влезают — используй внешнюю сортировку или временные файлы.

Следующий вопрос

Что такое spaghetti code?