Я тестирование некоторых баз данных компонентов, таких как SDAC
и других, и я узнал кое-что интересное:Как AdoQuery обрабатывает капли?
Когда я выполнить запрос с TADOQuery
и этот запрос имеет много BLOB-полей и я получаю все строки (fetchall
) память моего приложения приближается к 1,8 ГБ, и все работает нормально.
Использование других компонентов, тот же запрос, выполненный в одной базе данных, вызывает исключение Out of Memory
, поскольку оно превышает 1,8 ГБ использования памяти.
Я знаю, что не должен возвращать все эти строки, я должен использовать разбиение на страницы и blablabla. Но мне любопытно, как ADO может получить все строки и другие компоненты.
Я думаю, что ADO сжимает капли в памяти, но это только предположение.
Кто-нибудь знает, почему использование памяти в ADO так хорошо?
Извините, но это не отвечает на мой вопрос. Я много знаю о ваших компонентах, особенно в sdac, но меня интересует, как TADOQuery работает внутри. –