如何包含大型MySQL临时表

如何包含大型MySQL临时表,mysql,temp-tables,Mysql,Temp Tables,我们的应用程序创建了许多大型的内部临时表,这些临时表会破坏数据库。我将下面的tmp_table_size设置为768M,max_heap_table_zise设置为768M,max_connections设置为1024,仅供参考,我的总内存为66GB,我正在使用SSD硬盘。但是当我有很多人同时访问同一个数据库时,这将导致创建许多大型tmp表,这会减慢并破坏数据库..我需要帮助 谢谢。你不能避免创建所有的临时表吗?为什么要使用临时表,或者更具体地说,为什么要使用这么多临时表?应用程序代码已经存在多

我们的应用程序创建了许多大型的内部临时表,这些临时表会破坏数据库。我将下面的
tmp_table_size
设置为768M,
max_heap_table_zise
设置为768M,
max_connections
设置为1024,仅供参考,我的总内存为66GB,我正在使用SSD硬盘。但是当我有很多人同时访问同一个数据库时,这将导致创建许多大型tmp表,这会减慢并破坏数据库..我需要帮助


谢谢。

你不能避免创建所有的临时表吗?为什么要使用临时表,或者更具体地说,为什么要使用这么多临时表?应用程序代码已经存在多年了,我被告知我不能更改应用程序代码以避免许多临时表,因此,我现在唯一的选择就是看看如何调整一些mysql变量以包含临时表。我需要帮助。@BygEynst没那么简单。实际上,原则上很简单,你首先要找到实际的问题
max\u heap\u table\u size
仅与优化器创建和销毁的隐式临时表相关——而不是显式的
CREATE temporary table…
tables。你需要量化“减速和打击”记忆?可能不会。中央处理器?也许吧,但也许不是。磁盘带宽?很可能。如果是这样,您只能使用更好的硬件或更好的代码来修复,而不能使用配置参数。我们需要深入了解实际问题。你能做一些性能跟踪吗?比如检查CPU负载、RAM使用情况和磁盘I/O?你不能避免创建所有的临时表吗?为什么要使用临时表,或者更具体地说,为什么要使用这么多临时表?应用程序代码已经存在多年了,我被告知我不能更改应用程序代码以避免使用许多临时表,因此,我现在唯一的选择就是看看如何调整一些mysql变量以包含临时表。我需要帮助。@BygEynst没那么简单。实际上,原则上很简单,你首先要找到实际的问题
max\u heap\u table\u size
仅与优化器创建和销毁的隐式临时表相关——而不是显式的
CREATE temporary table…
tables。你需要量化“减速和打击”记忆?可能不会。中央处理器?也许吧,但也许不是。磁盘带宽?很可能。如果是这样,您只能使用更好的硬件或更好的代码来修复,而不能使用配置参数。我们需要深入了解实际问题。你能做一些性能跟踪吗?比如检查CPU负载、RAM使用情况和磁盘I/O?