假设我修改了文件在系统中的存储方式,其中每个文件名实际上都是数据库中的表名,而文件中的每一行实际上都是该表的行。会提高整个系统的速度吗?值得吗?什么是权衡?
为了进一步澄清这与数据库的正常使用之间的区别,考虑到这些文件不仅是文本文件,而且是音频、视频、二进制文件,它们是以上一段中提到的方式存储的。
我从中可以看到的直接好处是,我可以从文件中读取/写入任何行,而不必重复读取/写入前面的行,直到到达所需的行为止。另一个好处是同时读/写文件。
请不要将其与数据库文件系统混淆,这是一个文件实现
发布于 2010-08-19 09:11:58
要增加按位置进行读写的好处,额外的好处是。
Pros
索引
用全文索引来索引文本,这样可以提供搜索的好处。当然,数据库的大小可能比传统的文件大小要大。但是您在性能方面有好处,因为数据库系统将只有一个打开的文件句柄,并且它将进行缓存,并将提高性能并减少碎片。
Lock/Performance
打开/关闭多个文件在性能方面不会增加多少开销,因为每次打开/关闭都需要访问控制、检查和锁定。
复制
复制的好处是,如果将它们放在mysql中,mysql复制很容易设置,并且可以很容易地保持多个备份。
维修
数据库的传输、维护和查询要比文件容易得多。
Cons
文件浏览器访问
您不能通过资源管理器或普通的文件系统api访问文件,您将需要某种类型的访问api --可能是基于REST的api或一些可以读取数据库的查看器。
有关更详细的分析,您可以查看我的博客。
https://stackoverflow.com/questions/3520103
复制相似问题