我想创建一个包含5,000,000个tinyint值(0 - 256之间)的SQLITE文件。 根据我的计算,这个文件应该使用大约5 [MB]。SQLITE - 具有5,000,000个TINYINT值的文件?
但是,我得到的文件大小接近50 [MB]。
下面是我使用的代码:
import sqlite3
# Create and populate a database
db = sqlite3.connect('/home/mine/temp.db')
db.execute("CREATE TABLE IF NOT EXISTS test(id INT2)")
for i in range(0, 5000000):
db.execute("INSERT INTO test(id) VALUES({0})".format(0))
db.commit()
db.close()
任何想法如何,这样只有少得多的空间优化的东西呢?
这取决于有多少表/索引/很多东西。你有没有试过创建一个数据库? – PostMan 2011-03-27 23:56:37
我有,并得到一个巨大的文件。也许我不熟练使用SQLITE。有什么建议么? (我只需要一张桌子;根本没有指数) – user3262424 2011-03-27 23:57:48
有多巨大? 6MB? 50MB?可能值得发布您用来生成表格的代码。然后人们可以就如何优化它提出具体的建议。 – 2011-03-28 00:11:34