Adn*_*uei 5 python sql postgresql psycopg2
假设我有一个 PostgreSQL 表,有 5-6 列和几百行。使用 psycopg2 将整个表加载到我的 Python 程序中并使用 Python 选择我想要的行并按照我的意愿对行进行排序会更有效吗?或者使用 SQL 选择所需的行,对它们进行排序,然后仅将这些特定行加载到我的 Python 程序中会更有效吗?
我所说的“有效”是指:
此外,随着表大小的增加,这些因素将如何开始变化?比如说,表现在有几百万行?
实际上,如果您将已加载到内存中的数据与从数据库中检索的数据进行比较,那么内存中的操作通常会更快。数据库有开销:
与每个查询的等效内存中操作相比,前两个特别增加了开销。
这并不意味着数据库没有优势,特别是对于复杂的查询:
数据库的优势并不在于它们始终提供最佳性能。优点是它们通过简单的接口在非常广泛的请求中提供了良好的性能(即使你不喜欢 SQL,我认为你需要承认它比用 SQL 编写代码更简单、更简洁、更灵活)第三代语言)。
此外,数据库通过 ACID 属性和其他支持数据完整性的机制来保护数据。