首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >内存VS MyIsam tmpfs?

内存VS MyIsam tmpfs?
EN

Stack Overflow用户
提问于 2016-10-07 14:59:23
回答 1查看 437关注 0票数 0

有许多具有列文本类型的表。有些表很大,服务是高负载的。InnoDB中的所有表。

当SQL查询创建了临时表时,如果它有一个文本类型的字段,则会在磁盘上创建类型为MyISAM的表。为了避免磁盘I/O操作,将MySQL临时目录(tmpdir)挂载到内存(tmpfs)中。

1) MyISAM tmpfs和内存哪个更快?有很大的区别吗?

2)如果MyISAM用于临时表,是否需要配置缓冲区,只有MyISAM表才需要配置缓冲区: read_buffer_size read_rnd_buffer_size?这些MyISAM配置会对性能产生影响吗?(Myisam_sort_buffe_size,key_buffer_size)

我想将文本更改为VARCHAR。

EN

回答 1

Stack Overflow用户

发布于 2016-10-08 02:27:02

通常,最好忽略您提出的所有问题。

  • 如果SELECT包含TEXT列,则它必须使用MyISAM,而不是内存。也就是说,如果您不接触任何TEXTBLOB或“大型”VAR*列,则可能不需要使用MyISAM。
  • 让我们来看一下查询;也许我们可以避免使用临时表!
  • MyISAM临时表将主要(完全?)如果可行,基于各种缓存问题,请留在内存中。
  • 对于临时表,内存几乎总是比MyISAM快。
  • 如果你使用内存磁盘,而临时表太大,查询将崩溃。
  • 如果你使用内存磁盘,你将从其他东西(特别是InnoDB的buffer_pool)中窃取内存,从而减慢从文本到VARCHAR的所有内存。如果你需要超过255 (或者是512 ),它将不起作用?我不知道您提到的与此用例相关的设置的确切cutoff.)
  • None。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39911245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档