| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Как ускорить работу базы? |
| Автор: FlaGmaN 18.6.2007, 16:16 |
| Ребята! имеется база *.mdb просто ограменная. содержание примрно такое [N,FIO,dom и тд]. Сама задача: загрузить базу в Грид, произвести поиск по нужному столбцу. Все зделал, но как извесно тормозит нереально. особенно когда ищешь интерактивным поиском. Как можно ускорить Работу программы. если можно разъяснить все подробно и |
| Автор: Bose 19.6.2007, 01:55 |
| тормозит потому что всё загружаешь. Сначала фильтруй(вместо своего поиска) |
| Автор: FlaGmaN 19.6.2007, 07:23 |
| нет такое решение не подойдет. необходимо чтобы вся база была в гриде, а только потом по ней поиск осуществлялся. может есть какие предложения? |
| Автор: Rodman 19.6.2007, 08:59 |
| 1. Обязательно ли юзать Access??? 2. Не уверено, но возможно если работать с данными грида, будет быстрее... эта СУБД не расчитана на такие базы... |
| Автор: kobra 19.6.2007, 09:11 |
| какава необхадимость? вь чем выгода? можно загружать данные в потоке, но всеравно, пока не загрузятся полностью, поиск вести будет безсмысленно. |
| Автор: Данкинг 19.6.2007, 11:31 |
| Если только на несколько таблиц разбить. |
| Автор: FlaGmaN 19.6.2007, 13:45 | ||||||
База 264426 записей. 4 столбца. грид самый обычный. TDBGrid. поиск:
тормозит Значит долго загружается программа, ну и естественно поиск долго происходит в связи с оъемом данных |
| Автор: Bose 19.6.2007, 16:20 | ||
загружать всё это в DBGrid - это страшно. при этом условии:
я не знаю чем помочь. п.с. ммммм... как вариант можно использовать в проекте FastMem и Fastcode библиотеки. Производительность может подрасти процентов на 10-30%. На форуме обсуждались. |
| Автор: FlaGmaN 19.6.2007, 16:38 |
| спасибо остается только плакать |
| Автор: Bose 20.6.2007, 12:58 |
Нужно нормально проектировать. |
| Автор: Savek 20.6.2007, 16:50 | ||
| 1. Это не огромная, и даже не большая база. Если приблизишься к миллиону, тогда подумай о замене 2. Замени ADOTable на ADODataSet и перепроектируй логику работы 3. Индексируй таблицу Шансы на успех реальные
Разумное объяснение этому есть? Срмневаюсь |
| Автор: FlaGmaN 21.6.2007, 07:57 |
Представь случай! приходит начальник говорот хочу чтоб было так. Хочу и все. Я ему. ну чтож... Любой каприз. чистотеоретическия я свою задачу выполнил (база и поиск есть), но это не есть нормальная программа. Будо произвоидть поиск по дазе. посмотрю чего получится |
| Автор: mutex 21.6.2007, 17:51 |
| FlaGmaN, попробуйте открыть этой прогой: http://wincmd.ru/download.php?id=xBaseView Если её скорость устроить, могу дать план действий. |
| Автор: FlaGmaN 22.6.2007, 08:43 |
| Кто нибудь знает как самому задавать блинну поля в DBgrid? |
| Автор: FlaGmaN 22.6.2007, 12:24 |
| Не кто не знает?.................. |
| Автор: aktuba 22.6.2007, 12:31 | ||
Я, например, не понял вопрос. Какие еще поля в DBGrid???? |
| Автор: Savek 22.6.2007, 14:31 | ||
Наверное ты хотел спросить про ширину столбца? Тогда так
|
| Автор: FlaGmaN 25.6.2007, 15:00 |
| Да спасибо. я это и имел в виду. |
| Автор: Akella 25.6.2007, 15:56 |
| а если базу перекинуть в другой "формат", так сказать, Paradox, FireBird Добавлено через 1 минуту и 1 секунду проиндексировать, воспользоваться FIB+, которые работают значительно быстрее стандартных IBX |