bbu*_*bum 15
不要将大型BLOB放在数据库中.将它们放在数据库文件旁边的文件系统中,然后将文件名或URL写入数据库.这将更快,将更有效地使用数据库,将I/O最小化(因为视频不必被分解为数据库的分页方案,并且将使视频的管理更容易(文件系统delete的文件是每吨比不得不切除了一堆包含BLOB)页的数据库更快.
将BLOB放在数据库中是非常低效的,并且很可能会破坏应用程序的内存使用(除非您已经找到了将数据从数据库传输到视频解码器的方法).
它将产生额外的I/O,使用更多的功率,并且当您在数据库中存储更多项目时,性能通常会变得很糟糕.如果要将BLOB与数据库中的小基准混合使用,则很容易最终得到病态分散的数据库.自动吸尘将有所帮助,但它的效率更低,更多的I/O和更长的电池寿命.
是的,有数据库可以很好地处理BLOB.它们与这个唯一标记为"iPhone"的问题完全无关.
请注意,问题的答案"处理BLOB和流媒体比文件系统更好"几乎总是要求您使用正在读取/写入原始设备的数据库 - 硬盘驱动器上的分区什么都不是但数据库内容.任何其他解决方案都必然是现有文件系统之上的一个层,并且即使数据库供应商已完成所有工程工作(并且它是巨大的)以尽可能地匹配它们的数据库访问I/O,也会有成本.底层文件系统语义.