我需要使用ADO从Oracle数据库中读取数百万个寄存器。应该使用哪些参数才能获得最佳性能?
答案 0 :(得分:3)
直接使用ADO _Recordset接口而不是使用TADODataset会更快。 ADO不是很快,并且TADODataset需要查询底层的_Recordset以确定列类型等(ADO具有安全调用接口,因此每个函数/属性读取都需要一些开销,请查看CPU视图中生成的程序集)。 通过直接使用_Recordset,我已经优化了将数据加载到我们自己的数据对象中,因子2(许多小查询)。也许它对于大量数据也很有用。
对于大型查询,您可以使用“只读”“服务器端游标”和“向前打开”(客户端游标是数据加载并在客户端缓存)