通过 BLOB 在 SQLite 数据库中存储非常小的 audio/image 文件?
Storing very small audio/image files in SQLite database via BLOBs?
背景信息
我是 Android 开发的新手,我正在为我的客户创建一个 Android 应用程序,我正在尝试找出存储大量音频的最佳方法和我的应用程序的图像文件。该方法需要满足以下要求:
1) 允许应用程序用户将自己的图像和音频文件添加到应用程序(使用 SQLite 数据库)。这可能意味着将存储数以千计的音频和图像文件,但同样,它们不超过 0.35 mb,并且大多数小于 0.1 mb。用户可能会按几十张图片和四分之一的音频文件的顺序上传大量文件。
2) 允许用户将他们的本地数据与服务器上的 SQL 数据库同步,以便可以上传、下载和删除图像和音频文件(除了分配的其他数据)该应用程序的用户在不同的位置。
我知道将文件路径存储在 SQLite 数据库中几乎总是比将文件存储为 BLOBS 更好,但是,正如在这些问题中,BLOB vs. file path storage ,
Storing small BLOBs in a Database,
在某些情况下,将文件直接存储在数据库中更为合适,尤其是当涉及的文件非常小时,就像它们在我的应用程序中一样。 None 我的应用程序中的文件大于 350 K/b。
我的问题是 ,在处理非常小的文件时(none 我的 image/audio 文件超过 350 k/b,并且大多数是在 0 到 100 k/b 范围内)但是很多文件直接将图像存储为 BLOB 而不是文件路径,当用户需要将文件上传到本地 SQLite 数据库或者当用户需要将本地 SQLite 数据库同步到远程服务器时?
应用程序的冗长安装时间和与远程数据库的初始同步不是问题,只要安装和同步不会花费大量时间,比如超过 45 分钟。
不要相信某个随机网站告诉您的一切。
在某些 tests for reading internal vs. external blobs 中,对于非常小的文件 (< 100 KB),blob 速度更快,无论如何,对于 300 KB 的文件,差异不是很大。
由于 transaction/synchronization 开销,写入 blob 的效率往往低于写入文件。
这一切如何转化为您的 Android 设备是您必须自己测试的。
背景信息
我是 Android 开发的新手,我正在为我的客户创建一个 Android 应用程序,我正在尝试找出存储大量音频的最佳方法和我的应用程序的图像文件。该方法需要满足以下要求:
1) 允许应用程序用户将自己的图像和音频文件添加到应用程序(使用 SQLite 数据库)。这可能意味着将存储数以千计的音频和图像文件,但同样,它们不超过 0.35 mb,并且大多数小于 0.1 mb。用户可能会按几十张图片和四分之一的音频文件的顺序上传大量文件。
2) 允许用户将他们的本地数据与服务器上的 SQL 数据库同步,以便可以上传、下载和删除图像和音频文件(除了分配的其他数据)该应用程序的用户在不同的位置。
我知道将文件路径存储在 SQLite 数据库中几乎总是比将文件存储为 BLOBS 更好,但是,正如在这些问题中,BLOB vs. file path storage , Storing small BLOBs in a Database, 在某些情况下,将文件直接存储在数据库中更为合适,尤其是当涉及的文件非常小时,就像它们在我的应用程序中一样。 None 我的应用程序中的文件大于 350 K/b。
我的问题是 ,在处理非常小的文件时(none 我的 image/audio 文件超过 350 k/b,并且大多数是在 0 到 100 k/b 范围内)但是很多文件直接将图像存储为 BLOB 而不是文件路径,当用户需要将文件上传到本地 SQLite 数据库或者当用户需要将本地 SQLite 数据库同步到远程服务器时?
应用程序的冗长安装时间和与远程数据库的初始同步不是问题,只要安装和同步不会花费大量时间,比如超过 45 分钟。
不要相信某个随机网站告诉您的一切。
在某些 tests for reading internal vs. external blobs 中,对于非常小的文件 (< 100 KB),blob 速度更快,无论如何,对于 300 KB 的文件,差异不是很大。
由于 transaction/synchronization 开销,写入 blob 的效率往往低于写入文件。
这一切如何转化为您的 Android 设备是您必须自己测试的。