2
我测试了一些数据库组件,如SDAC
和别人,我发现了一些有趣的事情:AdoQuery如何处理斑点?
当我执行一个查询与TADOQuery
和这个查询有很多BLOB字段的,我得到的所有行(fetchall
)内存我的应用程序接近1.8GB,一切正常。
使用其他组件时,在同一数据库上执行的相同查询将抛出Out of Memory
异常,因为它超过了1.8GB的内存使用量。
我知道我不应该返回所有这些行,我应该使用分页和blablabla。但我很好奇ADO如何管理所有行和其他组件不能。
我认为ADO正在压缩内存中的斑点,但这只是一个猜测。
有没有人知道为什么ADO中的内存使用如此之好?
对不起,但那不能回答我的问题。我非常了解你的组件,特别是sdac,但我对TADOQuery如何在内部工作感兴趣。 – 2012-01-17 18:28:07