mysql怎么整理 mysql整理碎片( 六 )


back_log 值指出在mysql暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中 。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的tcp/ip连接的侦听队列的大小 。你的操作系统在这个队列大小上有它自己的限制 。试图设定back_log高于你的操作系统的限制将是无效的 。
当你观察你的主机进程列表 , 发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | null | connect | null | login | null 的待连接进程时,就要加大 back_log 的值了 。默认数值是50 , 我把它改为500 。
(5)、interactive_timeout:
服务器在关闭它前在一个交互连接上等待行动的秒数 。一个交互的客户被定义为对 mysql_real_connect()使用 client_interactive 选项的客户 。默认数值是28800,我把它改为7200 。
(6)、sort_buffer:
每个需要进行排序的线程分配该大小的一个缓冲区 。增加这值加速order by或group by操作 。默认数值是2097144(2m),我把它改为 16777208 (16m) 。
(7)、table_cache:
为所有线程打开表的数量 。增加该值能增加mysqld要求的文件描述符的数量 。mysql对每个唯一打开的表需要2个文件描述符 。默认数值是64,我把它改为512 。
(8)、thread_cache_size:
可以复用的保存在中的线程的数量 。如果有,新的线程从缓存中取得,当断开连接的时候如果有空间,客户的线置在缓存中 。如果有很多新的线程 , 为了提高性能可以这个变量值 。通过比较 connections 和 threads_created 状态的变量 , 可以看到这个变量的作用 。我把它设置为 80 。
(9)mysql的搜索功能
用mysql进行搜索,目的是能不分大小写,又能用中文进行搜索
只需起动mysqld时指定 --default-character-set=gb2312
(10)、wait_timeout:
服务器在关闭它之前在一个连接上等待行动的秒数 。默认数值是28800,我把它改为7200 。
注:参数的调整可以通过修改 /etc/my.cnf 文件并重启 mysql 实现 。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改 。
MySQL—碎片整理删除数据必然会在数据文件中造成不连续的空白空间,而当插入数据时,这些空白空间则会被利用起来.于是造成了数据的存储位置不连续,以及物理存储顺序与理论上的排序顺序不同,这种是数据碎片.实际上数据碎片分为两种,一种是单行数据碎片,另一种是多行数据碎片.前者的意思就是一行数据,被分成N个片段,存储在N个位置.后者的就是多行数据并未按照逻辑上的顺序排列.当有大量的删除和插入操作时,必然会产生很多未使用的空白空间,这些空间就是多出来的额外空间.索引也是文件数据,所以也会产生索引碎片,理由同上,大概就是顺序紊乱的问题.Engine 不同,OPTIMIZE 的操作也不一样的,MyISAM 因为索引和数据是分开的,所以 OPTIMIZE 可以整理数据文件,并重排索引 。这样不但会浪费空间,并且查询速度也更慢 。
查看碎片信息:
Index_length 代表索引的总量
Data_free 代表碎片数量
从information_schema中获取信息:
碎片整理:
过程时间长短取决于表大小和碎片多少,
返回结果optimize status OK则整理完成;
【mysql怎么整理 mysql整理碎片】mysql怎么整理的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于mysql整理碎片、mysql怎么整理的信息别忘了在本站进行查找喔 。

推荐阅读