MySQL-数据库碎片对数据库的性能影响有多大?

MySQL-数据库碎片对数据库的性能影响有多大?

灵芸 发布于 2017-04-20 字数 70 浏览 1186 回复 2

数据库碎片对数据库的性能影响有多大?可以用 mysql 举例说明。。。

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清晨说ぺ晚安 2017-09-20 2 楼

随着时间推移,基于数据库的应用系统的广泛使用,产生的碎片会越来越多,将对数据库有以下两点主要影响:

导致系统性能减弱。

当要满足一个空间要求时,数据库将首先查找当前最大的自由范围,而 “最大”自由范围逐渐变小,要找到一个足够大的自由范围已变得越来越困难,从而导致表空间中的速度障碍,使数据库的空间分配愈发远离理想状态;
浪费大量的表空间。

尽管有一部分自由范围将会被 SMON (系统监控)后台进程周期性地合并,但始终有一部分自由范围无法得以自动合并,浪费了大量的表空间。

夜无邪 2017-09-09 1 楼

我举个例子
show table status from 表
主要看这一项

Data_free: 20

20假如是删除一条数据产生的留空空间,你如果一次性删除5W条数据吧,这样会产生100W的字节的存储空间,
假如现在你剩一条记录了,有用的内容将只占二十字节,但MySQL在读取中会仍然将其视同于一个容量为100W字节的列表进行处理,并且除二十字节以外,其它空间都被白白浪费了。
定期优化表是一件很重要的事情