Несколько дней назад я получил следующую ошибку из базы данных MySQL:
Переполнение стека потоков: 68744 байтов, используемых для стека 196608 байт, и 128000 байт. Используйте "mysqld -O thread_stack = #", чтобы указать больший стек.
Вся документация, которую я нашел, говорит, что:
По умолчанию используется 64 КБ до MySQL 4.0.10 и 192 КБ. Если размер стека потоков слишком мал, он ограничивает сложность операторов SQL, которые может обрабатывать сервер, глубину рекурсии хранимых процедур и другие действия, связанные с потреблением памяти.
Я установил переменную thread_stack в 256K, но это было просто случайное значение. Пока он решил проблему, но мне очень хотелось бы знать, насколько это важно, получить некоторые примерные значения или обычаи. Например:.
- Что может и что я могу сделать с 96KB (x KB) стека потоков?
- Как вычислить, как большой поток стека мне нужен?