几天前我从MySQL数据库得到以下错误:
线程堆栈溢出:用于196608字节堆栈的68744字节,需要128000字节。使用'mysqld -O thread_stack =#'指定更大的堆栈。
我发现的所有文档都说:
MySQL 4.0.10之前的默认值是64KB,之后是192KB。如果线程堆栈大小太小,则会限制服务器可以处理的SQL语句的复杂性,存储过程的递归深度以及其他消耗内存的操作。
我将变量thread_stack设置为256K,但它只是一个随机值。现在它解决了这个问题,但我真的想知道它应该有多大,得到一些示例值或用法。例如。:
- 使用96KB(x KB)的线程堆栈可以做什么,不能做什么?
- 如何计算我需要多大的线程堆栈?