Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Configuration MySQL服务器';s thread_堆栈参数-它是什么?它应该有多大?_Configuration_Mysql Management_Mysql - Fatal编程技术网

Configuration MySQL服务器';s thread_堆栈参数-它是什么?它应该有多大?

Configuration MySQL服务器';s thread_堆栈参数-它是什么?它应该有多大?,configuration,mysql-management,mysql,Configuration,Mysql Management,Mysql,几天前,我从MySQL数据库中得到以下错误: 线程堆栈溢出:196608字节堆栈使用68744字节,需要128000字节。使用“mysqld-O thread_stack=#”指定更大的堆栈 我找到的所有文件都表明: MySQL 4.0.10之前的默认值为64KB,之后的默认值为192KB。如果线程堆栈大小太小,则会限制服务器可以处理的SQL语句的复杂性、存储过程的递归深度以及其他占用内存的操作 我将变量thread_stack设置为256K,但它只是一个随机值。现在它解决了这个问题,但我真的想

几天前,我从MySQL数据库中得到以下错误:

线程堆栈溢出:196608字节堆栈使用68744字节,需要128000字节。使用“mysqld-O thread_stack=#”指定更大的堆栈

我找到的所有文件都表明:

MySQL 4.0.10之前的默认值为64KB,之后的默认值为192KB。如果线程堆栈大小太小,则会限制服务器可以处理的SQL语句的复杂性、存储过程的递归深度以及其他占用内存的操作

我将变量thread_stack设置为256K,但它只是一个随机值。现在它解决了这个问题,但我真的想知道它应该有多大,获取一些示例值或用法。例如:

  • 使用96KB(x KB)的线程堆栈可以做什么,不能做什么
  • 如何计算我需要多大的线程堆栈

今天也遇到了类似的错误。关于变量提供了一个足够默认值的提示(对于32位系统为192K,对于64位系统为256K),以及查看。

是什么导致了它?您是否有任何大型联接或递归存储过程?我认为递归存储过程是原因。我在大型表(500M记录)上也有连接,但通常首先我只剪切表的一小部分,然后与相对较小的第二部分连接。我从不在具有数百万条记录的两个表上进行联接,也不进行产生数百万条记录的联接。但是线程栈对连接有什么影响呢?@ssobczak,关于线程栈如何影响连接有什么线索吗?