大数据的 SQL 查询或编程过滤器?
Posted
技术标签:
【中文标题】大数据的 SQL 查询或编程过滤器?【英文标题】:SQL query or Programmatic Filter for Big Data? 【发布时间】:2013-07-19 23:33:28 【问题描述】:我正在使用 Python,从 MS SQL Server 数据库中获取大量数据并处理这些数据以制作图表。
真正的问题是我想知道在查询中使用 WHERE 和 SELECT DISTINCT 等属性重复执行查询以过滤数据(使用 pyodbc 进行 SQL 查询)是否是个好主意
或
获取数据并使用 python 的列表解析、映射和过滤功能来过滤我的代码本身中的数据。
如果我选择前者,将执行大约 1k 次查询,从而减少我的 python 代码的显着负载,否则如果我选择后者,我将查询一次并添加一堆函数来遍历我的所有记录已获取或多或少相同的次数(1k)。
问题是 python 不是纯粹的函数式,(如果是,我就不会问了,而且现在已经完成并测试了我的工作数百次)。
你会推荐哪一个?
作为参考,我使用的是 Python 2.7。如果您也可以提供信息来源,将不胜感激。此外,空间不是获取全部数据的问题。
谢谢
【问题讨论】:
为什么你不能使用一个查询和你需要的修饰符? 因为我正在根据规范列表过滤数据。所以对于列表中的每个规范,数据都需要细化。你可以把它想象成一个树信息的集合。现在我想要的是不同的树和子树。因此,对于每个子树/树,都涉及不同的父级和子级。这就是为什么。 【参考方案1】:如果您有足够的带宽,并且更喜欢 Python 而不是 SQL,请继续在 Python 中进行一次大型查询和过滤。
否则,您最好使用多个查询。
对不起,这里没有参考。 ^_^
【讨论】:
没有任何显着优势吗?我可以做任何这些。我只想知道如果只有性能是瓶颈,你们会采用哪种方法。此外,数据库中的数据每天都在增加。 我想说主要区别在于通过网络传输了多少数据。 所以多个查询应该会使其更快,因为它们会导致过滤数据传输? 是的,where 子句应尽量减少数据传输。以上是关于大数据的 SQL 查询或编程过滤器?的主要内容,如果未能解决你的问题,请参考以下文章