python pickle vs sql 效率

use*_*561 6 python sql pickle

我正在用 Python 开发一个应用程序,它需要存储(非常)大的数据集。pickle 是存储数据并根据请求检索数据的最实用方法,还是我应该考虑使用 SQL?我的主要目标是速度和尽可能少的处理压力。

我担心的是 pickle 必须动态处理整个大文件,这可能会对性能产生不利影响。除了使用之外,我对 pickle 并不是特别熟悉,所以任何关于它如何工作的解释都会很棒。

现在,我正在使用这段代码:

users = pickle.load( open( "users.py", "rb" ) )
username = raw_input("Please enter a username: ")
password = raw_input("Please enter a password: ")
var = username in users
if(var == 0):
    return 0
    exit()
else:
    if(users[username] != password):
        return 0
        exit()
    else:
        return 1
        exit()
Run Code Online (Sandbox Code Playgroud)

想象一下,用户包含 100 万条条目,这个或 SQL 哪个更有效率?

任何帮助都会很棒,

谢谢

Tom*_*ton 5

Pickle 通常适合存储对象,如果您想有效地存储“原始”数据,那么 pickle 可能不是最佳选择,但它非常依赖于具体情况 - “加载”数据时间关键,是吗?有开发时间来设置数据库、查询等。

如果您的数据是一百万对用户名和出生日期,那么 pickle 可能不是最好的方法,将数据存储在平面文本文件中可以说更简单。

pickle 和 db/SQL 解决方案都具有可扩展的优点。请记住,pickle 并不“安全”,因此您应该考虑文件的可信度,例如它是否会在不同系统之间传输。

总的来说,如果你的数据集非常大,关系型Db可能比pickle更合适,但你可能还想考虑其他存储引擎,例如Redis、MongoDb、Memcached。不过,所有这些都非常依赖于具体情况,因此您可以提供有关如何使用数据的更多信息将会很有用!