我目前的情况是这样的:我在一个平面csv文件中有 3.28 亿行数据。不是最优的。我希望能够查询这些数据(我会更详细地解释)。Grep越来越累。这些数据是静态的,不会改变。
我是 PostgreSQL 的新手,正在我的 2010 MacBook Pro、2.4 GHz Intel Core 2 Duo、4 GB 1067 MHz DDR3 上处理这些数据。存储大小不是真正的问题,1TB 磁盘上的数据大约为 65GB,但读/写速度不是很好(不幸的是它不是 SSD)。我记得几年前我在 CS 研究中,索引可以帮助我提高查询速度,我正在阅读如何最好地做到这一点。
我为什么要使用 PostgreSQL?同辈压力。不是真的,但让我们继续吧。我在 OSX 10.9.2 上运行 PostgreSQL 9.3.4。
现在,我正在尝试做的事情。数据包括日期和时间信息,跨越大约 10 个月。例如,我希望能够:
我感兴趣的主要是与时间戳相关的摘要。
除了timestamp、auserID和 a之外,每个数据记录还包括servID。在另一个文件(存储在另一个表中)中,每个文件servID都作为 X 和 Y 值链接到一个位置。我有兴趣在地图上显示这些位置,因此我将使用 将这些位置导出到绘图matlab,为许多用户汇总或一次关注特定用户。
所有值都是重复的,即大约有 700.000 uniqueuserIDs和 1500 unique servIDs。时间戳也不是唯一的,分辨率只有秒,所以有重复的时间戳。
到目前为止,我已经创建了两个表,一个包含一小部分测试数据和 XY 位置表:
create table test (userID varchar, junk1 varchar,
date …Run Code Online (Sandbox Code Playgroud)