myisam_sort_buffer_size 与 sort_buffer_size

发布于 2024-12-11 16:09:43 字数 214 浏览 0 评论 0原文

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

我为它们设置了以下大小:

myisam_sort_buffer_size = 8M

sort_buffer_size = 256M

另请提及这些值是否良好或需要调整?

谢谢

I am MySQL on server with 6GB RAM. I need to know what is the difference between myisam_sort_buffer_size and sort_buffer_size?

I have following size set to them:

myisam_sort_buffer_size = 8M

sort_buffer_size = 256M

Please also mention if these values are fine or need adjustments?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

唐婉 2024-12-18 16:09:43

sort_buffer_size:

MySQL 文档:

每个需要排序的会话都会分配一个该大小的缓冲区。 sort_buffer_size 不特定于任何存储引擎,并以通用方式应用于优化。

您的 sort_buffer_size 值似乎非常高。默认为2M。我建议不要大于此值,因为更高的值会降低性能。 有些人建议较小的值,例如 256kB。要记住的一件事是,这是每个客户端会话的值,而不是全局值。大的值会快速累加。

myisam_sort_buffer_size:

MySQL 文档:

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

你的 myisam_sort_buffer_size 看起来不错。除非您使用 ALTER TABLE 或 REPAIR TABLE 等重建索引,否则这不会相关。

sort_buffer_size:

MySQL documentation:

Each session that needs to do a sort allocates a buffer of this size. sort_buffer_size is not specific to any storage engine and applies in a general manner for optimization.

Your sort_buffer_size value seems extremely high. The default is 2M. I'd recommend going no larger than that since there is a performance penalty for going higher. Some people recommend smaller values such as 256kB. One thing to remember is this is per-client-session, it's not a global value. Large values will add up fast.

myisam_sort_buffer_size:

MySQL documentation:

The size of the buffer that is allocated when sorting MyISAM indexes during a REPAIR TABLE or when creating indexes with CREATE INDEX or ALTER TABLE.

Your myisam_sort_buffer_size seems fine. This won't be relevant unless you are rebuilding indexes using ALTER TABLE or REPAIR TABLE etc.

新人笑 2024-12-18 16:09:43

这些参数是针对每个线程的,因此请检查 max_connections 的数量。

即,使用 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)

所以我确实将其降低到默认值。

These arguments is per thread, so check out the number of max_connections.

I.e. with 15GB of RAM

max_connections        = 1500
sort_buffer_size = 32M

I'm getting mysqltuner warning:

 [--] Total buffers: 928.0M global + 32.7M per thread (1500 max threads)
 [!!] Maximum possible memory usage: 48.8G (312% of installed RAM)

So I did lower it to the default value.

这个俗人 2024-12-18 16:09:43

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

sort_buffer_size =256K
is best.you try this and restart the mysql server and monitor for few hours you can easily notice the benefit

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文