|
|
1
1
这在很大程度上取决于操作系统、文件系统和文件系统缓存的配置。这还取决于数据库是否与写入/删除的文件存储在同一磁盘上。 通常,影响文件系统结构的操作(如文件创建和文件删除)需要一些同步磁盘IO,因此操作系统在断电后不会丢失这些更改。尽管如此,一些操作系统和文件系统可能支持更宽松的策略。例如,FreeBSD上的UFS文件系统有很好的“软更新”选项。也许etx3/Linus应该有类似的功能。 一旦您将移动到专用服务器,我认为将几个HDD连接到它是合理的,并确保数据库存储在一个磁盘上,同时在另一个磁盘执行大量文件操作。在这种情况下,数据库性能不应受到影响。 |
|
|
2
1
您应该进行一些计算并估计存储所需的吞吐量。在最坏的情况下,每小时20000个文件x 10K=200MB,这是一个非常低的要求。 在现代文件系统中,删除文件只需花费很少的时间。 在我看来,您不必担心,尤其是当您的应用程序按顺序创建和删除文件时。 还可以考虑,现代操作系统将文件系统的部分缓存在内存中,以提高性能并减少磁盘访问(尤其是多次删除时)。 您的数据库会增长,但引擎已经针对它进行了优化,无需关心它。 唯一的缺点是,如果文件系统受到影响,处理许多小文件可能会导致磁盘碎片。 为了提高性能,您应该考虑为这些文件使用单独的物理存储(例如,不同的磁盘驱动器或磁盘阵列),这样您就可以在没有其他干扰的情况下利用全带宽传输。 |
|
|
user23819755 · 从文件加载的数据未按正确顺序返回 2 年前 |
|
|
Grekys · C数组元素全部变为相同值 2 年前 |
|
|
Deba · 为什么在cin语句中打印空格时,第0个字符没有打印出来? 2 年前 |
|
|
catodd · C-试图将整数和结构数组存储到二进制文件中 2 年前 |
|
|
heapyams · Java可执行文件无法读取资源文件夹[重复] 2 年前 |
|
|
Community wiki · 在文件中插入值 3 年前 |