Filemaker:使大数据查询更有效率

时间:2010-07-02 14:48:14

标签: filemaker

好的,我有一张货主表和一张单独的费用表。每个都有数百万条记录,它从遗留系统进入Filemaker,因此所有字段都被定义为Text,即使它们可能是Date,Number等。

费用表中有一个日期字段。我想创建一个数字字段来表示只是年份。我可以使用Middle函数来解析字段并在Calculation字段中获取年份。但是将年份作为字面数字字段会不会更快,特别是因为我将要进行过滤和排序?那么如何将此计算转换为其值?我试过将计算字段更改为数字,但它只是渲染空白。

3 个答案:

答案 0 :(得分:2)

你的计算有问题,因为字段类型不同,所以不应该变成空白。即:

Middle("10-12-2010", 7, 4)
如果将calc结果设置为Number,则

应该足够了。您也可以将其包装到GetAsNumber(...)中,但实际上,只要字段类型正确就没有区别。

如果你有FM高级版,尝试在数据查看器(工具 - >数据查看器)中设置你的计算而不是在定义字段中,这会更快,一旦你喜欢结果,你可以将它转移到一个领域或进行替换。但是,从搜索/排序的角度来看,(存储的)计算和常规字段之间没有区别,因此替换是没有意义的,实际上更危险,因为没有办法撤消错误的替换。

答案 1 :(得分:1)

这是我在寻找的东西 http://help.filemaker.com/app/answers/detail/a_id/3366/~/converting-unstored-calculation-fields-to-store-data

  

基本上,而不是使用   计算字段,您创建的是EMPTY   数字,日期或文本字段和用法   从记录菜单中替换字段内容,然后输入   你的计算(或参考,或   两个)那里。

答案 2 :(得分:0)

根本没有放弃FileMaker,但数百万条记录意味着FileMaker可能是错误的选择。您的系统将缓慢,缓慢,缓慢。 FileMaker非常适合工作组,没有办法更快地开发数据库应用程序。但FileMaker擅长的一件事就是处理大量的记录。

BTW,Mikhail Edoshin完全正确。