如何提升sqlite中blob数据的查询性能

本文探讨了SQLite中存储大型BLOB数据时,内部存储(直接存于数据库)与外部存储(独立文件)的性能差异。测试结果显示,当BLOB数据超过100kB时,使用外部文件存储通常性能更优。而页大小设置为8192或16384字节时,对于大型BLOB的I/O操作表现最佳。不过,实际性能还取决于硬件、文件系统和操作系统。建议在目标硬件上验证这些结论。
摘要由CSDN通过智能技术生成

关于sqlite的blob数据存储,由于暂时没有时间深入到代码内部去进行详细分析。

看到sqlite官网上有类似的测试数据和对比。


结论是:正常情况下,如果blob的数据量超过100kB,那么最好使用分开单独的文件来存储blob数据性能会好一点。如果非要讲Blob数据存储在一个数据库文件中,那么增加Page Size可以在一般情况下提升性能。当然文章了说了,具体还是与硬件、文件系统、操作系统有关系。

Internal Versus External BLOBs in SQLite


If you have a database of large BLOBs, do you get better read performance when you store the complete BLOB content directly in the database or is it faster to store each BLOB in a separate file and store just the corresponding filename in the database?

To try to answer this, we ran 49 test cases with various BLOB sizes and SQLite page sizes on a Linux workstation (Ubuntu circa 2011 with

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值