



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MySQL的f配置参数详解key_buffer索引块是缓冲的并且被所有的线程共享。key_buffer_size是用于索引块的缓冲区大小,增加它可得到更好处理的索引(对所有读和多重写),到你能负担得起那样多。如果你使它太大,系统将开始换页并且真的变慢了。默认数值是8388600(8M),我的 MySQL主机有2GB内存,所以我把它改为402649088(400MB)max_connections允许的同时客户的数量。增加该值增加 mysqld 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 Too many connections 错误。 默认数值是100max_allowed_packet导入时一个包的最大尺寸。消息缓冲区被初始化为net_buffer_length字节,但是可在需要时增加到max_allowed_packet个字节。缺省地,该值太小必能捕捉大的(可能错误)包。如果你正在使用大的BLOB列,你必须增加该值。它应该象你想要使用的最大BLOB的那么大。table_cache为所有线程打开表的数量。增加该值能增加mysqld要求的文件描述符的数量。MySQL对每个唯一打开的表需要2个文件描述符。默认数值是64,我把它改为512配置Myisam表的参数:record_buffer_size每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128K),我把它改为16773120 (16M)sort_buffer_size每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。默认数值是2097144(2M),我把它改为 16777208 (16M)read_buffer_sizeEach thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you might want to increse this valueread_rnd_buffer_size When reading rows in sorted order after a sort, the rows are read through this buffer to avoid disk seeks. Setting the variable to a large value can improve ORDER BY performance by a lot. However, this is a buffer allocated for each client, so you should not set the global variable to a large value. Instead, change the session variable only from within those clients that need to run large queries.Bulk_insert_buffer_size该参数于4.0.3中引入。MyISAM使用一个树型的缓冲区来加速大量的插入,如INSERTSELECT,INSERTVALUES(), VALUES(),LOAD DATA INFILE等。该参数指定了缓冲区的大小。缺省值为8M,设置为0则表示不使用该优化。如果不使用MyISAM表,则可以将其设置为0。myisam_sort_buffer_size配置InnoDB表的参数innodb_buffer_pool_sizeinnodb_buffer_pool_size的作用就相当于key_buffer_size对于MyISAM表的作用一样。InnoDB使用该参数指定大小的内存来缓冲数据和索引。对于单独的MySQL数据库服务器,最大可以把该值设置成物理内存的80%。根据MySQL手册,对于2G内存的机器,推荐值是1G(50%)innodb_flush_log_at_trx_commit该值指定InnoDB记录日志的方式。如果设置为1,则每个事务提交的时候,MySQL都会将事务日志写入磁盘。如果设置为0或者2,则大概每秒中将日志写入磁盘一次。(还不清楚0和2的区别)。实际测试发现,该值对插入数据的速度影响非常大,设置为2时插入10000条记录只需要2秒,设置为0时只需要1秒,而设置为1时则需要229秒。因此,MySQL手册也建议尽量将插入操作合并成一个事务,这样可以大幅提高速度。根据MySQL手册,在存在丢失最近部分事务的危险的前提下,可以把该值设为0。innodb_log_file_sizeThe size of the buffer that InnoDB uses to write to the log files on disk. Sensible values range from 1MB to 8MB. The default is 1MB. A large log buffer allows large transactions to run without a need to write the log to disk before the transactions commit. Thus, if you have big transactions, making the log buffer larger will save disk I/O。根据MySQL手册,推荐值是innodb_buffer_pool_size的25%注意:在重新设置该值时,好像要把原来的文件删除掉。innodb_log_buffer_sizeThe size of the buffer that InnoDB uses to write to the log files on disk. Sensible values range from 1MB to 8MB. The default is 1MB. A large log buffer allows large transactions to run without a need to write the log to disk before the transactions commit. Thus, if you have big transactions, making the log buffer larger will save disk I/O. 根据MySQL手册,推荐值是8M。innodb_additional_mem_pool_size该参数指定InnoDB用来存储数据字典和其他内部数据结构的内存池大小。缺省值是1M。通常不用太大,只要够用就行,应该与表结构的复杂度有关系。如果不够用,MySQL会在错误日志中写入一条警告信息。根据MySQL手册,对于2G内存的机器,推荐值是20M。thread_cache_size可以复用的保存在中的线程的数量。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中。如果有很多新的线程,为了提高性能可以这个变量值。通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用。我把它设置为 80query_cache_size查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中,今后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。通过检查状态值Qcache_*,可以知道query_cache_size设置是否合理(上述状态值可以使用SHOW STATUS LIKE Qcache%获得)。如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,如果Qcache_hits的值也非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小;如果Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。与查询缓冲有关的参数还有query_cache_type、query_cache_limit、query_cache_min_res_unit。 query_cache_type指定是否使用查询缓冲,可以设置为0、1、2,该变量是SESSION级的变量。query_cache_limit指定单个查询能够使用的缓冲区大小,缺省为1M。query_cache_min_res_unit是在4.1版本以后引入的,它指定分配缓冲区空间的最小单位,缺省为4K。检查状态值Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多,这就表明查询结果都比较小,此时需要减小 query_cache_min_res_unit。query_cache_limit定单个查询能够使用的缓冲区大小,缺省为1Mquery_cache_min_res_unit指定分配缓冲区空间的最小单位,缺省为4K检查状态值Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多,这就表明查询结果都比较小,此时需要减小query_cache_min_res_unit。thread_concurrency设置为你的cpu数目x2,例如,只有一个cpu,那么thread_concurrency=2skip-innodb去掉innodb支持skip-bdb去掉bdb事务型表支持skip-name-resolve解决mysql不能远端连线的问题max_allowed_packet信息交换中使用信息包的允许大小(如:导入表)sqlview plaincopy1. mysqld2. port=33063. socket=/tmp/mysql.sock4. skip-locking5. key_buffer=256M6. max_allowed_packet=8M7. table_cache=10248. sort_buffer_size=64M9. net_buffer_length=8K10. read_buffer_size=16M11. read_rnd_buffer_size=16M12. myisam_sort_buffer_size=128M13. 14. default-table-type=innodb15. innodb_buffer_pool_size=1024M16. innodb_additional_mem_pool_size=128M17. innodb_flush_log_at_trx_commit=018. innodb_log_file_size=256M19. innodb_log_buffer_size=8M20. 21. long_query_time=122. log-slow-queries=/usr/local/mysql/var/log-slow.log23. skip-name-resolve24. log_bin_trust_routine_creators=125. max_connections=204826. query_cache_size=128M27.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安全教育讲师培训总结课件
- 安全教育网络培训学院课件
- 农业无人机租赁服务在2025年农村电商市场布局研究
- 狼王梦课件教学课件
- 安全教育日常培训表格课件
- 滴水工程助学方案(3篇)
- 安全教育平台的培训课件
- 粮油储检面试题库及答案
- 历史文化面试题库及答案
- 理科单招面试题库及答案
- 2025年新疆投资发展集团有限责任公司人员招聘笔试备考题库含答案详解(夺分金卷)
- 2025秋教科版(2024)小学科学三年级上册教学计划及进度表(2025-2026学年第一学期)
- 融资专员考试题含答案
- 企业诉讼案件管理办法
- 中控室的操作与管理课件
- 矛盾纠纷化解培训课件
- 牛羊养殖技术课件合集
- 餐饮场所消防安全管理制度范本
- 防狗咬防蜂安全教育
- 实验室设备管理员培训
- 2025年人教版(2024)小学信息科技五年级(全一册)教学设计(附教材目录 P169)
评论
0/150
提交评论