mysql 参数设置

来源:互联网 发布:it招聘 编辑:程序博客网 时间:2024/05/21 00:47
myisam
key_buffer_size  指定的表索引缓存入指定的key_buffer
检查状态值Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads /key_read_requests应该尽可能的低,至少是1:100,1:1000更好
(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。
key_buffer_size只对MyISAM表起作用。即使你不使用MyISAM表,但是内部的临时磁盘表是MyISAM表,也要使用该值。可以使用检查状态值created_tmp_disk_tables得知详情。
对于1G内存的机器,如果不使用MyISAM表,推荐值是16M(8-64M)

InnoDB
nnodb_buffer_pool_size
缓存InnoDB 数据和索引的内存缓冲区的大小 物理内存大小的80%

innodb_additional_mem_pool_size
InnoDB 用来存储数据目录信息和其它内部数据结构的内存池的大小。默认值是
1MB。应用程序里的表越多,你需要在这里分配越多的内存

innodb_table_locks
使用AUTOCOMMIT=1 的应用里 设置innodb_table_locks=0 消除内部死锁

innodb_support_xa
不需要使用分布式事务,则可以关闭这个参数

innodb_doublewrite
对性能的要求高于对数据完整性的要求,那么可以通过--kip-innodb-doublewrite 关闭这个设置

innodb_log_buffer_size
通常8-16MB 就足够了。越小的系统它的值越小

innodb_log_file_size
高写入负载尤其是大数据集的情况下很重要。这个值越大则性能相对越高,但
是要注意到可能会增加恢复时间

innodb_flush_log_at_trx_commit
0:日志缓冲每秒一次地被写到日志文件            不安全  性能好
1:在每个事务提交时,日志缓冲被写到日志文件    安全    性能差
2:在每个提交,日志缓冲被写到文件              居中    居中

公用
table_cache的设置
例如,对于200 个并行运行的连接,应该让表的缓存至少有200 * N,这里N 是可以执行的

查询的一个联接中表的最大数量。


show  status like '%Innodb_row%';
show processlist;



0 0
原创粉丝点击