我正在尝试从具有非常大数据的表中获取数据。 我正在使用Java Webobject和EOmodel。 当我尝试使用索引列获取时,我能够在不到2秒的时间内获得结果。但是,当我尝试使用任何其他列进行搜索时,它几乎需要30秒以上。 通过EOmodel命中的查询,直接用JDBC独立命令,它在1.5秒内获取结果。
建议在获取规范中设置任何标志,以便快速获取结果。
提前致谢:)
答案 0 :(得分:1)
与您的JDBC提取相比,EOF提取生成的SQL有何不同?
结果中有多少项? (如果有10个,数千个,那么时间可能是从原始SQL结果转换为EOEnterpriseObjects)。
在EOFetchSpecification上尝试setFetchesRawRows(true),如果结果集很大,那么可能会给你一个与JDBC提取相当的结果。
最后,如果您在数据库上启用了缓存,并且在EOF提取之后立即运行JDBC提取以进行比较,则JDBC提取可能只是从SQL缓存中获取缓存结果。
最重要的是,您没有在此提供足够的信息,任何人都无法提供真正有针对性的建议。