FireMonkey, Livebindings и большие базы данных

 
0
 
Delphi, Kylix & Pascal
ava
Marsianin | 23.03.2013, 23:33
Решил написать приложение-базу данных под FireMonkey на XE3.
В XE2 с LiveBindings не связывался, а тут решил и возникла проблема:
У меня есть локальная база данных в MySQL (движок AnyDAC, который теперь купила Embarcadero и назвала FireDAC) в которой 190000 записей.
Привязал я эту базу к TTMSFMXGrid (пробовал и стандартный глючный TGrid) - возникла проблема с тем, что Grid не отображал больше 200 записей.
Погуглил - оказалось, что в LinkGridToDataSource1 надо выключить AutoBufferCount и выставить BufferCount вручную, т.е. во время открытия указать BufferCount:=RecordCount. Но тогда оно загружает все записи в память, что происходит очень долго даже на моём i7-3960X при 32Гб RAM.
Но как я почитал - FMX Grid не хранит все ячейки, т.е. сам он должен шустро работать.

Проблема в том, как сделать так, чтобы отображались все мои записи в Grid через этот LiveBindings, но грузилось всё шустро и по мере скроллинга подгружало с диска базу? Этот AutoBufferCount - вообще какая-то бредятина. Он всегда выдаёт 200 записей и всё. Что за бред?
Comments (2)
ava
Antimol | 23.03.2013, 23:02 #
Скажите пожалуйста для какой задачи нужно просмотреть все 190000 записей?

Всегда удивлялся людям которые делают выборку на последних 2 года(~от 200’000 записей), при этом работают с последними 2-3-мя документами и утверждают что программа тормозит.

Тут не в греде дело, а скорее всего в архитектуре. Долгое время я использовал компоненты DOA (Direct Oracle Access) там был параметр QueryAllRecord подгружались они по мере прокрутки, но суть в том что все что уже подгрузилось висит в памяти.

С AnyDAC работал немного, там для Query или Table должен быть параметр который отвечает за загрузку всего или частичную загрузку данных.

ava
Akella | 24.03.2013, 11:36 #
зачем пользоватлю 190 тысяч!!! записей?!
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit