自己感觉是会的,但不大确定。
因为存在磁盘碎片,因此有数据存入时,会先使用这部分磁盘空间,
如果查询时按照数据索引的顺序查找数据,可能会遇到逻辑上是连续的数据,但物理上不是连续的数据。导致无法顺序读取磁盘数据。
自己感觉是会的,但不大确定。
因为存在磁盘碎片,因此有数据存入时,会先使用这部分磁盘空间,
如果查询时按照数据索引的顺序查找数据,可能会遇到逻辑上是连续的数据,但物理上不是连续的数据。导致无法顺序读取磁盘数据。
5 回答3.2k 阅读✓ 已解决
3 回答3.6k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
5 回答1.4k 阅读
3 回答1.2k 阅读✓ 已解决
2 回答2k 阅读
3 回答2k 阅读
对数据库来讲,碎片化有两种,文件系统碎片和内部表碎片。
简单回答是一定会有影响,但要具体分析,和存储引擎、文件系统、io缓存等都有关系。也和记录的增改删的顺序有关。
可以看一下这里的实验。
简单总结:
从实验结果中我们可以学到的几点:
– 同时增长多个表会导致数据碎片化,并会影响表扫描性能
– MyISAM比Innodb更糟
– Innodb范围分配有效(也许对于MyISAM也是不错的选择)
– 如果Innodb将不同的表存储在不同的文件中,则其遭受的碎片较少。
补充一点是:
不要对 SSD 进行去碎片化,固态盘即使碎片化,对 io 也没有什么影响。