仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1023|回复: 8
打印 上一主题 下一主题

[学习教程] 发一篇Mysql内存参数优化

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:09:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
”由于MySQL已经是一个运行了众多知名Web2.0网站的数据,包括Craigslist、Digg、Wikipedia和Google等,或许我们可以说每一个Web2.0公司实质上是一个使用MySQL数据库的公司。1、Keybuffer
A、参数key_buffer_size只对myisam引擎的表起感化;
B、它决意索引处置的速率,特别是索引读的速率;
C、评价这个参数是不是设置公道能够反省两个形态值showstatuslike‘%key_read%’;
D、Key_read_requests代表总的哀求数,key_reads代表读取磁盘数;
E、key_reads/key_read_requests应当尽量的低,最少是1:100,1:1000更好;
F、别的一个估量key_buffer_size的举措 把你数据库的每一个表的索引所占空间巨细加起来看看。
2、Querycache
A、querycache次要是将SELECT语句和查询了局寄存在该缓冲区;
B、参数query_cache_size的设置公道性能够反省db的形态:showstatuslike‘%qcache%’
C、参数query_cache_type指定是不是利用查询缓冲;
D、设置参数:query_cache_size=32M
query_cache_type=1
E、一段工夫后服务器形态值:
Qcachequeriesincache12737标明今朝缓存的条数
Qcacheinserts20649006
Qcachehits79060095 看来反复查询率还挺高的
QcachelowmemPRunes617913 有这么屡次呈现缓存太低的情形
Qcachenotcached189896  
Qcachefreememory18573912  今朝残剩缓存空间
Qcachefreeblocks5328这个数字仿佛有点年夜 碎片很多
Qcachetotalblocks30953
F、了局标明:querycache值必要设置的更年夜一些;
G、Qcache_free_blocks,假如该值十分年夜,则标明缓冲区中碎片良多
H、Qcache_lowmem_prunes的值十分年夜,则标明常常呈现缓冲不敷的情形,同时Qcache_hits的值十分年夜,则标明查询缓冲利用十分频仍,此时必要增添缓冲巨细Qcache_hits的值不年夜,则标明你的查询反复率很低,这类情形下利用查询缓冲反而会影响效力,那末能够思索不必查询缓冲。别的,在SELECT语句中到场SQL_NO_CACHE能够明白暗示不利用查询缓冲。
3、Tablecache
A、table_cache指定表高速缓存的巨细;
B、每当MySQL会见一个表时,假如在表缓冲区中另有空间,该表就被翻开并放进个中,如许能够更快地会见表内容;
C、经由过程反省峰值工夫的形态值Open_tables和Opened_tables,能够决意是不是必要增添table_cache的值。假如你发明open_tables即是table_cache,而且opened_tables在不休增加,那末你就必要增添table_cache的值了;
D、注重,不克不及自觉地把table_cache设置成很年夜的值。假如设置得太高,大概会形成文件形貌符不敷,从而形成功能不不乱大概毗连失利。
4、Innodbbuffer
A、innodb_buffer_pool_size-这对Innodb表来讲十分主要。Innodb比拟MyISAM表对缓冲更加敏感。MyISAM能够在默许的key_buffer_size设置下运转的能够,但是Innodb在默许的innodb_buffer_pool_size设置下却跟蜗牛似的。
B、因为Innodb把数据和索引都缓存起来,无需留给操纵体系太多的MySQL数据库内存,因而假如只必要用Innodb的话则能够设置它高达70-80%的可用内存。
C、假如你的数据量不年夜,而且不会暴增,那末无需把innodb_buffer_pool_size设置的太年夜了。
D、innodb_log_file_size在高写进负载特别是年夜数据集的情形下很主要。这个值越年夜则功能绝对越高,可是要注重到大概会增添恢复工夫。我常常设置为64-512MB,跟据服务器巨细而异。innodb_log_buffer_size默许的设置在中等强度写进负载和较短事件的情形下,服务器功能还能够。
E、innodb_flush_logs_at_trx_commit是不是为Innodb比MyISAM慢1000倍而头年夜?看来大概你忘了修正这个参数了。默许值是1,这意味着每次提交的更新事件(大概每一个事件以外的语句)城市革新到磁盘中,而这相称泯灭资本,特别是没有电池备用缓存时。良多使用程序,特别是从MyISAM变化过去的那些,把它的值设置为2就能够了,也就是不把日记革新到磁盘上,而只革新到操纵体系的缓存上。日记仍旧会每秒革新到磁盘中往,因而一般不会丧失每秒1-2次更新的损耗。假如设置为0就快良多了,不外也绝对不平安了。MySQL服务器溃散时就会丧失一些事件。设置为2批示丧失革新到操纵体系缓存的那部分事件。
只需每年花费2000到5000美元。无论你是自掏腰包来创建一个新兴公司,还是得到了风险投资商的赞助,使用MySQL都可以降低你所需要的人力成本。
海妖 该用户已被删除
沙发
发表于 2015-1-18 15:43:46 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
小女巫 该用户已被删除
板凳
发表于 2015-1-22 08:40:34 | 只看该作者
varchar(max)\\\\nvarchar(max)类型的引入大大的提高了编程的效率,可以使用字符串函数对CLOB类型进行操作,这是一个亮点。
透明 该用户已被删除
地板
发表于 2015-1-31 05:20:44 来自手机 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
兰色精灵 该用户已被删除
5#
发表于 2015-2-6 17:49:00 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
若相依 该用户已被删除
6#
发表于 2015-2-17 21:49:58 | 只看该作者
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
再见西城 该用户已被删除
7#
发表于 2015-3-5 23:14:13 | 只看该作者
比如日志传送、比如集群。。。
爱飞 该用户已被删除
8#
发表于 2015-3-12 16:36:32 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
莫相离 该用户已被删除
9#
发表于 2015-3-20 00:13:52 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-9-21 04:38

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表