Поиск:

Ответ в темуСоздание новой темы Создание опроса
> FireMonkey, Livebindings и большие базы данных, Как оптимизировать под большие таблицы 
:(
    Опции темы
Marsianin
  Дата 23.3.2013, 22:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Awaiting Authorisation
Сообщений: 48
Регистрация: 24.11.2004

Репутация: нет
Всего: нет



Решил написать приложение-базу данных под 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 записей и всё. Что за бред?
PM MAIL   Вверх
Antimol
Дата 23.3.2013, 23:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 118
Регистрация: 28.7.2007
Где: Украина, Киев

Репутация: 4
Всего: 4



Скажите пожалуйста для какой задачи нужно просмотреть все 190000 записей?

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

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

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


--------------------
Лучшее спасибо это "+" к репутации.   Мой блог: ИНФОРМАТИЗАЦИЯ, и mirsovetov.net. Написание программ, исправление ошибок, статьи....
PM MAIL WWW ICQ   Вверх
Akella
Дата 24.3.2013, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 29
Всего: 329



зачем пользоватлю 190 тысяч!!! записей?!

Добавлено через 5 минут и 30 секунд
Отключи сетку от НД и загрузи все записи.
Попробуй как-то манипулировать записями, переходить по ним, цикле сделай.
Я имею ввиду вот что. Выяснить нужно на каком этапе торможения, в сетке или в НД.

Добавлено через 6 минут и 41 секунду
Цитата(Marsianin @  23.3.2013,  22:33 Найти цитируемый пост)
Проблема в том, как сделать так, чтобы отображались все мои записи в Grid через этот LiveBindings, но грузилось всё шустро и по мере скроллинга подгружало с диска базу? Этот AutoBufferCount - вообще какая-то бредятина. Он всегда выдаёт 200 записей и всё. Что за бред? 


Читай справку по AnyDAC!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0450 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.