Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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
Mysql myisam\排序\缓冲区\大小与排序\缓冲区\大小_Mysql_Sorting_Buffer - Fatal编程技术网

Mysql myisam\排序\缓冲区\大小与排序\缓冲区\大小

Mysql myisam\排序\缓冲区\大小与排序\缓冲区\大小,mysql,sorting,buffer,Mysql,Sorting,Buffer,我是服务器上的MySQL,内存为6GB。我需要知道myisam_sort_buffer_size和sort_buffer_size之间的区别是什么 我为它们设置了以下尺寸: myisam\u排序\u缓冲区大小=8M 排序缓冲区大小=256M 还请说明这些值是否合适或需要调整 谢谢排序缓冲区大小: MySQL文档: 需要进行排序的每个会话都会分配此大小的缓冲区。排序缓冲区大小不特定于任何存储引擎,通常用于优化 您的sort\u buffer\u size值似乎非常高。默认值为2M。我建议不要超过这

我是服务器上的MySQL,内存为6GB。我需要知道myisam_sort_buffer_size和sort_buffer_size之间的区别是什么

我为它们设置了以下尺寸:

myisam\u排序\u缓冲区大小=8M

排序缓冲区大小=256M

还请说明这些值是否合适或需要调整


谢谢

排序缓冲区大小:

MySQL文档:

需要进行排序的每个会话都会分配此大小的缓冲区。排序缓冲区大小不特定于任何存储引擎,通常用于优化

您的sort\u buffer\u size值似乎非常高。默认值为2M。我建议不要超过这个数字,因为如果超过这个数字,会有性能上的损失。比如256kB。需要记住的一点是,这是每个客户端会话,它不是一个全局值。大的值加起来很快

myisam\u排序\u缓冲区大小:

MySQL文档:

在修复表期间对MyISAM索引进行排序或使用CREATE INDEX或ALTER TABLE创建索引时分配的缓冲区大小


您的myisam_排序_缓冲区_大小似乎很好。除非您正在使用ALTER TABLE或REPAIR TABLE等重新生成索引,否则这与此无关。

这些参数是每个线程的,所以请检查max_连接的数量

即使用15GB的RAM

max_connections        = 1500
sort_buffer_size = 32M
我收到mysqltuner警告:

 [--] Total buffers: 928.0M global + 32.7M per thread (1500 max threads)
 [!!] Maximum possible memory usage: 48.8G (312% of installed RAM)
所以我把它降低到了默认值。

排序缓冲区大小=256K
是最好的。您尝试一下,然后重新启动mysql服务器并监视几个小时,您可以很容易地注意到它的好处

谢谢Thomas,您提到我的排序缓冲区太大了。你能告诉我的最佳大小,因为我做了很多排序?还有一些调整参数。我认为我们应该在这里提到它们,以便其他人从中受益:tmp_table_size=64M,key_buffer_size=768M,read_rnd_buffer_size=6M,table_cache=800。您能否对具有6GB RAM和高流量的服务器的这些值说几句话。谢谢,我会将sort_buffer_的大小保留在2M。对于其他可调项,这还取决于服务器是否仅用于MySQL,是否使用MyISAM或InnoDB或两者的组合(我猜您使用MyISAM),您有多少个表,等等。可能值得一看的是,这些问题是否已经在其他问题中得到解决,或者问一个新问题。我认为这些大部分听起来不错,但这取决于我所说的。MySQL还提供了示例配置文件。@D3K:速度是否提高了?我更优化了同时线程的数量,并且每个线程都有足够的内存以最佳运行。(我不知道每个线程可以分配什么)。我希望在Web服务器上每秒支持大约2500次点击。我指的是线程总数。我所有的线程都是由单个用户创建的(glassfish)。请解释为什么是256K。你引用的理由和我的完全一样吗?