【发布时间】:2010-11-27 05:58:59
【问题描述】:
我有大约 1000 个条目的 Python 字典。将重复调用一个脚本,该脚本将要解析字符串并查看字符串中是否有任何键匹配。如果他们这样做了,它将根据键和值采取一些行动。
哪一个更快?
1) 将字典存储在MySQL数据库中,然后每次调用脚本时读取数据库?
2) 将字典存储在 Python 脚本中并每次都导入? (例如,制作一个只包含字典初始化的文件)
3) 将字典存储在文本文件中,每次都导入? (平面文本文件或pickle序列化数据文件,使用cpickle)
只是在这里寻找最佳实践。
【问题讨论】:
-
1000 个词条的字典并没有那么大。如果您担心“加载时间”,为什么不将字典放入 python 模块并在应用程序开始时导入一次?它会被编译成 PYC 文件,并且在你第一次运行后又好又快,对吧?
-
正如 K. 所说,您的字典很小,因此您可能应该将其加载到 pyc 中的内存中。但是,对于实际的大型词典,您应该使用 BDB 或 MetaKit 等数据库,而不是关系数据库。
标签: python database dictionary pickle