【发布时间】:2009-09-16 02:23:27
【问题描述】:
我的公司有一个传统的微观模拟程序,可以模拟一个人口以及该人口在几年内的变化。
对于每一年,该程序都会生成一个二进制文件,其中包含每个人的记录,其中包含他们的特征(例如,年龄、婚姻状况、收入......大约 20 个字段)。
我们目前有几个实用程序可以读取这些文件并生成摘要报告。问题是每次有人想要一份新报告时,都必须编写一个新的实用程序。
更改程序以将记录存储在数据库中而不是二进制文件中是不可能的(我已经问过......几次)。我编写了一些程序,将二进制文件导入数据库,然后对我创建的表运行查询。这里的问题是,导入数据和运行查询总是比运行一个用 c++ 编写的实用程序花费更长的时间,后者只是逐个读取记录并累积所需的数据。二进制文件通常包含超过 3000 万条记录,仅导入步骤就需要很长时间。
所以这是我的问题。有什么东西可以让我指定二进制文件的结构,然后对文件运行 SQL 查询吗?我认为您可以使用 ODBC 对纯文本文件运行查询,但我从未见过类似的二进制文件。
如果没有任何可用的东西,我需要采取哪些步骤来构建可以直接在我的文件上运行查询的东西?我知道这可能超出了我的能力范围,但知道我需要从哪里开始不会有什么坏处。
【问题讨论】: