有许多表TEXT类型的表。有些表很大,服务是高负载。 InnoDB中的所有表格。
如果SQL查询创建了tmp表(如果它具有TEXT类型的字段),则会在类型为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)
我想将TEXT更改为VARCHAR。
答案 0 :(得分:0)
通常,最好忽略您提出的所有问题。
SELECT
包含 TEXT
列,则必须使用MyISAM,而不是MEMORY。也就是说,如果您未触及任何TEXT
,BLOB
或“大型”VAR*
列,则许多不需要使用MyISAM。