MySQL Variables myisam_mmap_size 数据库 参数变量解释及正确配置使用
本站中文解释
参数
myisam_mmap_size参数是MySQL中MyISAM引擎处理时使用的一个映射内存参数,指定MySQL是用内存映射文件进行操作,还是用传统的内存读取方式,以便以较快的速度读取文件。Windows上,myisam_mmap_size的最大允许值为4GB,Linux下可设置超过4GB。
MyISAM引擎处理时,在某一个阶段,都会将文件读入内存中进行缓存,以加快读取的速度。这时,常见的有两种操作方式,一是把整个文件都拷贝到内存缓冲区,即用内存映射文件方式mmap,二是用按页从硬盘读入数据,随即读取数据。myisam_mmap_size指定文件读取时用哪种方式,它的取值会改变文件读取的模式,对性能会有不同的影响。
设置myisam_mmap_size的方法:
1.编辑MySQL的配置文件my.cnf,在[mysqld]段中设置myisam_mmap_size。
2.使用mysql命令行设置myisam_mmap_size,如:
set global myisam_mmap_size=8388608;
3.由程序代码控制,做在客户端代码当中,在每次初始化数据库连接前,发送一次设置参数命令:
SET SESSION myisam_mmap_size=16777216;
官方英文解释
myisam_mmap_size
Command-Line Format | --myisam-mmap-size=# |
---|---|
System Variable | myisam_mmap_size |
Scope | Global |
Dynamic | No |
Type | Integer |
Default Value (64-bit platforms) | 18446744073709551615 |
Default Value (32-bit platforms) | 4294967295 |
Minimum Value | 7 |
Maximum Value (64-bit platforms) | 18446744073709551615 |
Maximum Value (32-bit platforms) | 4294967295 |
Unit | bytes |
The maximum amount of memory to use for memory mapping
compressed MyISAM
files. If many
compressed MyISAM
tables are used, the
value can be decreased to reduce the likelihood of
memory-swapping problems.