SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
MySQL 概述及优化简介 2009-12-05 演讲人:张秀程
[object Object],[object Object],[object Object],目录索引
MySQL 概述
什么是 MySQL    MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。 MySQL 官方网站: http://www.mysql.com
MySQL 历史 ,[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL 架构
MySQL 存储引擎比较
MyISAM vs InnoDB ,[object Object],[object Object]
MyISAM  特点 MyISAM vs InnoDB  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MyISAM  存储结构 MyISAM vs InnoDB
MyISAM  索引结构 MyISAM vs InnoDB
MyISAM vs InnoDB ,[object Object]
InnoDB  特性 MyISAM vs InnoDB  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
InnoDB  索引结构 MyISAM vs InnoDB
MyISAM vs InnoDB  性能测试  数据量 / 单位 : 万 MyISAM InnoDB 备注 : my.cnf  特殊选项 插入: 1w 3 秒 219 秒 innodb_flush_log_at_trx_commit=1 插入: 10w 29  秒 2092 秒 innodb_flush_log_at_trx_commit=1 插入: 100w 287 秒 N/A innodb_flush_log_at_trx_commit=1 插入: 1w 3 秒 3 秒 innodb_flush_log_at_trx_commit=0  插入: 10w 30 秒 29 秒 innodb_flush_log_at_trx_commit=0  插入: 100w 273 秒 423 秒 innodb_flush_log_at_trx_commit=0  插入: 1w N/A 3 秒 innodb_flush_log_at_trx_commit=0  innodb_buffer_pool_size=256M 插入: 10W N/A 26 秒 innodb_flush_log_at_trx_commit=0  innodb_buffer_pool_size=256M 插入: 100W N/A 379 秒 innodb_flush_log_at_trx_commit=0 innodb_buffer_pool_size=256M
测试结果 MyISAM vs InnoDB  性能测试  可以看出在 MySQL 5.0 里面, MyISAM 和 InnoDB 存储引擎性能差别并不是很大,针对 InnoDB 来说,影响性能的主要是   innodb_flush_log_at_trx_commit  这个选项,如果设置为 1 的话,那么每次插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有关系,设置为 0 效率能够看到明显提升,当然,同样你可以在 SQL 中提交 “ SET AUTOCOMMIT = 0 ” 来设置达到好的性能。 同时也可以看出值得使用  InnoDB  来替代  MyISAM  引擎来进行开发,毕竟 InnoDB  有多数据库特性、更良好的数据存储性能和查询性能。
NDB ,[object Object]
MySQL 优化
主要内容 ,[object Object],[object Object],[object Object]
为什么要优化 ,[object Object],[object Object],[object Object],[object Object]
机器发飙 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
瓶颈定位 ,[object Object],[object Object],[object Object],[object Object],[object Object]
瓶颈定位  - Explain ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
瓶颈定位 – 续 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],MySQL 优化方式
[object Object],[object Object],[object Object],[object Object],系统优化
[object Object],[object Object],[object Object],[object Object],配置优化 MySQL 配置原则
配置优化 公共选项 选项 缺省值 推荐值 说明 max_connections 100 1024 MySQL 服务器同时处理的数据库连接的最大数量 query_cache_size 0 ( 不打开) 16M 查询缓存区的最大长度,按照当前需求,一倍一倍增加,本选项比较重要 sort_buffer_size 512K 16M 每个线程的排序缓存大小,一般按照内存可以设置为 2M 以上,推荐是 16M ,该选项对排序 order by , group by 起作用 record_buffer 128K 16M 每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区,可以设置为 2M 以上 table_cache 64 512 为所有线程打开表的数量。增加该值能增加 mysqld 要求的文件描述符的数量。 MySQL 对每个唯一打开的表需要 2 个文件描述符。
配置优化 MyISAM  选项 选项 缺省值 推荐值 说明 key_buffer_size 8M 256M 用来存放 MyISAM 索引缓冲的大小 ,  建议 128M 以上 ,不要大于内存的 30% read_buffer_size 128K 16M 用来 存放 MyISAM 表全表扫描的缓冲大小 .  为从数据表顺序读取数据的读操作保留的缓存区的长度 myisam_sort_buffer_size 16M 128M 设置 , 恢复 , 修改表的时候使用的缓冲大小,值不要设的太大
InnoDB  选项 配置优化 选项 缺省值 推荐值 说明 innodb_buffer_pool_size 32M 1G InnoDB 使用一个缓冲池来保存索引和原始数据 ,  这里你设置越大 , 你在存取表里面数据时所需要的磁盘 I/O 越少,一般是内存的一半,不超过 2G ,否则系统会崩溃,这个参数非常重要 innodb_additional_mem_pool_size 2M 128M InnoDB 用来保存  metadata  信息 ,  如果内存是 4G ,最好本值超过 200M innodb_flush_log_at_trx_commit 1 0 0  代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘 ;  1  为执行完没执行一条 SQL 马上 commit;  2  代表日志写入日志文件在每次提交后 , 但是日志文件只有大约每秒才会刷新到磁盘上 .  对速度影响比较大,同时也关系数据完整性 innodb_log_file_size 8M 256M 在日志组中每个日志文件的大小 ,  一般是 innodb_buffer_pool_size 的 25% ,官方推荐是  innodb_buffer_pool_size  的  40-50%,  设置大一点来避免在日志文件覆写上不必要的缓冲池刷新行为 innodb_log_buffer_size 128K 8M 用来缓冲日志数据的缓冲区的大小 .  推荐是 8M ,官方推荐该值小于 16M ,最好是  1M-8M  之间
应用程序及架构优化 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],应用优化 应用优化方式
应用优化 - 续 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
应用优化 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
应用优化 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MySQL 书籍 / 网站分享 ,[object Object],[object Object],[object Object],[object Object]
《 MySQL 核心技术手册》简介
基本内容 ,[object Object]
目标 ,[object Object]
结束 作者邮箱: [email_address]
 

Contenu connexe

Tendances

天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011Yiwei Ma
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构XiaoJun Hong
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构Cosey Lee
 
MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例郁萍 王
 
MySQL5.6新功能
MySQL5.6新功能MySQL5.6新功能
MySQL5.6新功能郁萍 王
 
Ocean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaOcean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaknuthocean
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术团队
 
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题XiaoJun Hong
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践drewz lin
 
Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...
Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...
Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...Ceph Community
 
美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团点评技术团队
 
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130Jinrong Ye
 
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践孙立
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构Louis liu
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践Wensong Zhang
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosqlknuthocean
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdfYu Lin
 
大规模数据库存储方案
大规模数据库存储方案大规模数据库存储方案
大规模数据库存储方案XiaoJun Hong
 
如何针对业务做DB优化
如何针对业务做DB优化如何针对业务做DB优化
如何针对业务做DB优化Jinrong Ye
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践Xupeng Yun
 

Tendances (20)

天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011天涯论坛的技术进化史-Qcon2011
天涯论坛的技术进化史-Qcon2011
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构
 
构建基于Lamp的网站架构
构建基于Lamp的网站架构构建基于Lamp的网站架构
构建基于Lamp的网站架构
 
MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
 
MySQL5.6新功能
MySQL5.6新功能MySQL5.6新功能
MySQL5.6新功能
 
Ocean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaOcean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in china
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
 
阿里云技术实践
阿里云技术实践阿里云技术实践
阿里云技术实践
 
Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...
Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...
Operation and Maintenance of Large-Scale All-Flash Memory Ceph Storage Cluste...
 
美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise
 
服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130服务器基准测试-叶金荣@CYOU-20121130
服务器基准测试-叶金荣@CYOU-20121130
 
高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践高性能队列Fqueue的设计和使用实践
高性能队列Fqueue的设计和使用实践
 
1号店数据库架构
1号店数据库架构1号店数据库架构
1号店数据库架构
 
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
 
“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql“云存储系统”赏析系列分享三:Sql与nosql
“云存储系统”赏析系列分享三:Sql与nosql
 
网站存储经验谈pdf
网站存储经验谈pdf网站存储经验谈pdf
网站存储经验谈pdf
 
大规模数据库存储方案
大规模数据库存储方案大规模数据库存储方案
大规模数据库存储方案
 
如何针对业务做DB优化
如何针对业务做DB优化如何针对业务做DB优化
如何针对业务做DB优化
 
豆瓣数据架构实践
豆瓣数据架构实践豆瓣数据架构实践
豆瓣数据架构实践
 

Similaire à Sina my sq概述及优化

Mysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimizationMysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimizationisnull
 
第一讲 My sql初步
第一讲 My sql初步第一讲 My sql初步
第一讲 My sql初步hjl888666
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索Feng Yu
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统melity78
 
MySQL快速入门与提高
MySQL快速入门与提高MySQL快速入门与提高
MySQL快速入门与提高mysqlpub
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计YANGL *
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraJunchi Zhang
 
对MySQL应用的一些总结
对MySQL应用的一些总结对MySQL应用的一些总结
对MySQL应用的一些总结Lixun Peng
 
Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享drewz lin
 
构建高性能MySQL系统
构建高性能MySQL系统构建高性能MySQL系统
构建高性能MySQL系统jackbillow
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert systemted-xu
 
3.架构设计篇2
3.架构设计篇23.架构设计篇2
3.架构设计篇2gavin shaw
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践mysqlops
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优thinkinlamp
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰Scourgen Hong
 
应用虚拟存储 缔造关键业务之路
应用虚拟存储 缔造关键业务之路应用虚拟存储 缔造关键业务之路
应用虚拟存储 缔造关键业务之路ITband
 
Huangjing renren
Huangjing renrenHuangjing renren
Huangjing renrend0nn9n
 
Sybase IQ 15.0
Sybase IQ 15.0Sybase IQ 15.0
Sybase IQ 15.0focusbi
 

Similaire à Sina my sq概述及优化 (20)

Mysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimizationMysql introduction-and-performance-optimization
Mysql introduction-and-performance-optimization
 
第一讲 My sql初步
第一讲 My sql初步第一讲 My sql初步
第一讲 My sql初步
 
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
 
Java@taobao
Java@taobaoJava@taobao
Java@taobao
 
如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统如何架构和开发高性能,高伸缩性Web 应用系统
如何架构和开发高性能,高伸缩性Web 应用系统
 
MySQL快速入门与提高
MySQL快速入门与提高MySQL快速入门与提高
MySQL快速入门与提高
 
王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计王龙:百度数据库架构演变与设计
王龙:百度数据库架构演变与设计
 
Accelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud eraAccelerate Database as a Service(DBaaS) in Cloud era
Accelerate Database as a Service(DBaaS) in Cloud era
 
对MySQL应用的一些总结
对MySQL应用的一些总结对MySQL应用的一些总结
对MySQL应用的一些总结
 
Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享Top100summit 高楼-7点测试-zee-性能测试案例分享
Top100summit 高楼-7点测试-zee-性能测试案例分享
 
构建高性能MySQL系统
构建高性能MySQL系统构建高性能MySQL系统
构建高性能MySQL系统
 
11, OCP - awr & alert system
11, OCP - awr & alert system11, OCP - awr & alert system
11, OCP - awr & alert system
 
3.架构设计篇2
3.架构设计篇23.架构设计篇2
3.架构设计篇2
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优
 
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
 
应用虚拟存储 缔造关键业务之路
应用虚拟存储 缔造关键业务之路应用虚拟存储 缔造关键业务之路
应用虚拟存储 缔造关键业务之路
 
MySQL调优
MySQL调优MySQL调优
MySQL调优
 
Huangjing renren
Huangjing renrenHuangjing renren
Huangjing renren
 
Sybase IQ 15.0
Sybase IQ 15.0Sybase IQ 15.0
Sybase IQ 15.0
 

Sina my sq概述及优化

  • 2.
  • 4. 什么是 MySQL    MySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。目前 MySQL 被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了 MySQL 作为网站数据库。 MySQL 官方网站: http://www.mysql.com
  • 5.
  • 8.
  • 9.
  • 10. MyISAM 存储结构 MyISAM vs InnoDB
  • 11. MyISAM 索引结构 MyISAM vs InnoDB
  • 12.
  • 13.
  • 14. InnoDB 索引结构 MyISAM vs InnoDB
  • 15. MyISAM vs InnoDB 性能测试 数据量 / 单位 : 万 MyISAM InnoDB 备注 : my.cnf 特殊选项 插入: 1w 3 秒 219 秒 innodb_flush_log_at_trx_commit=1 插入: 10w 29 秒 2092 秒 innodb_flush_log_at_trx_commit=1 插入: 100w 287 秒 N/A innodb_flush_log_at_trx_commit=1 插入: 1w 3 秒 3 秒 innodb_flush_log_at_trx_commit=0 插入: 10w 30 秒 29 秒 innodb_flush_log_at_trx_commit=0 插入: 100w 273 秒 423 秒 innodb_flush_log_at_trx_commit=0 插入: 1w N/A 3 秒 innodb_flush_log_at_trx_commit=0 innodb_buffer_pool_size=256M 插入: 10W N/A 26 秒 innodb_flush_log_at_trx_commit=0 innodb_buffer_pool_size=256M 插入: 100W N/A 379 秒 innodb_flush_log_at_trx_commit=0 innodb_buffer_pool_size=256M
  • 16. 测试结果 MyISAM vs InnoDB 性能测试 可以看出在 MySQL 5.0 里面, MyISAM 和 InnoDB 存储引擎性能差别并不是很大,针对 InnoDB 来说,影响性能的主要是 innodb_flush_log_at_trx_commit 这个选项,如果设置为 1 的话,那么每次插入数据的时候都会自动提交,导致性能急剧下降,应该是跟刷新日志有关系,设置为 0 效率能够看到明显提升,当然,同样你可以在 SQL 中提交 “ SET AUTOCOMMIT = 0 ” 来设置达到好的性能。 同时也可以看出值得使用 InnoDB 来替代 MyISAM 引擎来进行开发,毕竟 InnoDB 有多数据库特性、更良好的数据存储性能和查询性能。
  • 17.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. 配置优化 公共选项 选项 缺省值 推荐值 说明 max_connections 100 1024 MySQL 服务器同时处理的数据库连接的最大数量 query_cache_size 0 ( 不打开) 16M 查询缓存区的最大长度,按照当前需求,一倍一倍增加,本选项比较重要 sort_buffer_size 512K 16M 每个线程的排序缓存大小,一般按照内存可以设置为 2M 以上,推荐是 16M ,该选项对排序 order by , group by 起作用 record_buffer 128K 16M 每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区,可以设置为 2M 以上 table_cache 64 512 为所有线程打开表的数量。增加该值能增加 mysqld 要求的文件描述符的数量。 MySQL 对每个唯一打开的表需要 2 个文件描述符。
  • 29. 配置优化 MyISAM 选项 选项 缺省值 推荐值 说明 key_buffer_size 8M 256M 用来存放 MyISAM 索引缓冲的大小 , 建议 128M 以上 ,不要大于内存的 30% read_buffer_size 128K 16M 用来 存放 MyISAM 表全表扫描的缓冲大小 . 为从数据表顺序读取数据的读操作保留的缓存区的长度 myisam_sort_buffer_size 16M 128M 设置 , 恢复 , 修改表的时候使用的缓冲大小,值不要设的太大
  • 30. InnoDB 选项 配置优化 选项 缺省值 推荐值 说明 innodb_buffer_pool_size 32M 1G InnoDB 使用一个缓冲池来保存索引和原始数据 , 这里你设置越大 , 你在存取表里面数据时所需要的磁盘 I/O 越少,一般是内存的一半,不超过 2G ,否则系统会崩溃,这个参数非常重要 innodb_additional_mem_pool_size 2M 128M InnoDB 用来保存 metadata 信息 , 如果内存是 4G ,最好本值超过 200M innodb_flush_log_at_trx_commit 1 0 0 代表日志只大约每秒写入日志文件并且日志文件刷新到磁盘 ; 1 为执行完没执行一条 SQL 马上 commit; 2 代表日志写入日志文件在每次提交后 , 但是日志文件只有大约每秒才会刷新到磁盘上 . 对速度影响比较大,同时也关系数据完整性 innodb_log_file_size 8M 256M 在日志组中每个日志文件的大小 , 一般是 innodb_buffer_pool_size 的 25% ,官方推荐是 innodb_buffer_pool_size 的 40-50%, 设置大一点来避免在日志文件覆写上不必要的缓冲池刷新行为 innodb_log_buffer_size 128K 8M 用来缓冲日志数据的缓冲区的大小 . 推荐是 8M ,官方推荐该值小于 16M ,最好是 1M-8M 之间
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 39.
  • 40.
  • 42.  

Notes de l'éditeur

  1. 注意 :有些选项是分配给每个线程的,不能将其设置得太大。 Innodb_ log_buffer_ size 不宜设置过大,如果事务量相对较大 , 则可以考虑设置得稍微大些。 mysql 自身的 query cache 效率一般,可以采用 memcached 来补充。