Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sqlite和python。。。火速_Python_Performance_Sqlite - Fatal编程技术网

sqlite和python。。。火速

sqlite和python。。。火速,python,performance,sqlite,Python,Performance,Sqlite,我用python实现了一个程序,该程序从一个文件构建一些db。fasta文件是包含一些大分子序列的文本文件。你可以阅读更多关于。 我的程序从每一种蛋白质中产生一系列肽,它们是蛋白质片段。为了实现我的目标,该程序在SQLite中构建并查询DB 您知道在python中是否有很多技巧可以更快地填充或查询sqlite db吗? 如果我使用像SQLAlchemy这样的层或ORM,我可以提高性能吗?您不会提高性能,ORM层会增加一些开销,但您可能能够更轻松地进行实验。考虑到数据的大小,您可能可以选择更快的。

我用python实现了一个程序,该程序从一个文件构建一些db。fasta文件是包含一些大分子序列的文本文件。你可以阅读更多关于。 我的程序从每一种蛋白质中产生一系列肽,它们是蛋白质片段。为了实现我的目标,该程序在SQLite中构建并查询DB

您知道在python中是否有很多技巧可以更快地填充或查询sqlite db吗?
如果我使用像SQLAlchemy这样的层或ORM,我可以提高性能吗?

您不会提高性能,ORM层会增加一些开销,但您可能能够更轻松地进行实验。考虑到数据的大小,您可能可以选择更快的。或者您可能希望查看不同类型的数据库,例如。

SQLAlchemy/SQLObject允许您透明地排序使用数据库(不仅仅是SQLite),而不必知道用于查询的SQL。在内部,它们生成的查询可能比手工编制的查询慢(但我对它们的内部结构不太熟悉)。如果要编写快速执行的查询,可能需要学习SQL。但是您是否发现查询中的性能确实不足?SQLite有一个“查询优化”指南:。另外,sqlite有一个
内存模式?为什么不在内存中创建词典呢?这个数据库有多大?如果低于2Gb,那么内存中的纯Python对象将远远快于SQLite。@s.Lott程序构建的数据库是2Gb以上的许多倍。我需要或优化任何一个,以了解是否有其他选择。我还可以序列化字典或使用JSON生成一个简单的数据库,如我喜欢的[receipt]()。gunzapper:您是否真的将fasta文件中的字符串片段存储在dict中?如果你做得巧妙,你可以只存储开始点和结束点来节省大量空间。当然,这取决于你在做什么。此外,根据您所做的工作,可能还有其他方法来存储数据。例如,您可能需要某种树结构。由于我在他的问题中用完了注释空间,并且您提到了sqlite3的
:内存:
模式,下面是一个有关如何从
:内存:
:@zeekay:插入大量数据的相关线程。。。否
:内存:
不是我追求的更好的解决方案,但我对redis感兴趣。现在看起来不错。