当前位置:  开发笔记 > 数据库 > 正文

如果我在SQLite中使用blob字段作为主键,是否会遇到性能问题?

如何解决《如果我在SQLite中使用blob字段作为主键,是否会遇到性能问题?》经验,为你挑选了1个好方法。

我有一个sqlite数据库,其中所有主键都是GUID.目前它们存储为固定长度的字符串,但我想将它们存储为blob,因为它简化了存储和检索数据的代码.我转换了部分数据库,一切都按预期运行.但是,我不确定我是否会遇到性能问题.

例如,像这样的语句在字符串上会比blob更快吗?

SELECT * FROM table1 t1, table2 t2 WHERE t1.id = t2.parent_id

我的直觉说不,但这并不意味着什么.



1> Gavin Miller..:

找出的最佳方法是针对探查器/ SQLite的计时器运行查询.设置测试并使用字符串运行1000次查询,然后作为blob运行1000次.获胜者是最快的.

直觉是一回事,硬数据是另一回事.


多米尼克:你做到了吗?你的结果是什么?
很好的答案,但不是真正有价值的答案.它被接受的事实表明该实验已经进行过(问题作者,大概是@ lawrence-barsanti),如果是这样的话,*非常希望分享结果!*:-)
我运行了这种测试(通过Qt的sqlite驱动程序,sqlite3)并搜索36个字符的字符串UUID比相应的16字节紧凑UUID blob慢约4%.我赞成字符串版本,因为它更容易调试.
推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有