Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как ускорить работу базы? 
:(
    Опции темы
FlaGmaN
Дата 18.6.2007, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Ребята! имеется база *.mdb просто ограменная. содержание примрно такое [N,FIO,dom и тд]. Сама задача: загрузить базу в Грид, произвести поиск по нужному столбцу. Все зделал, но как извесно тормозит нереально. особенно когда ищешь интерактивным поиском. Как можно ускорить Работу программы. если можно разъяснить все подробно и  smile . если кто знает как, прошу поделиться!
PM MAIL WWW ICQ   Вверх
Bose
Дата 19.6.2007, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



тормозит потому что всё загружаешь. Сначала фильтруй(вместо своего поиска) smile , а потом уже загружай в грид. Будет быстрее
PM MAIL WWW Skype   Вверх
FlaGmaN
Дата 19.6.2007, 07:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



нет такое решение не подойдет. необходимо чтобы вся база была в гриде, а только потом по ней поиск осуществлялся. может есть какие предложения?
PM MAIL WWW ICQ   Вверх
Rodman
Дата 19.6.2007, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

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



1. Обязательно ли юзать Access???
2. Не уверено, но возможно если работать с данными грида, будет быстрее...


Цитата(FlaGmaN @  18.6.2007,  15:16 Найти цитируемый пост)
*.mdb просто ограменная

эта СУБД не расчитана на такие базы...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
kobra
Дата 19.6.2007, 09:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

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



Цитата(FlaGmaN @  19.6.2007,  07:23 Найти цитируемый пост)
необходимо чтобы вся база была в гриде
какава необхадимость? вь чем выгода? 
можно загружать данные в потоке, но всеравно, пока не загрузятся полностью, поиск вести будет безсмысленно.
PM MAIL   Вверх
Данкинг
Дата 19.6.2007, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

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



Если только на несколько таблиц разбить. smile 


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Bose
Дата 19.6.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(FlaGmaN @  19.6.2007,  07:23 Найти цитируемый пост)
нет такое решение не подойдет. необходимо чтобы вся база была в гриде, а только потом по ней поиск осуществлялся. может есть какие предложения?

Тогда давай по-другому.

Что значит:

1) имеется база *.mdb просто ограменная(цифры давай). 
2) Какой Грид используешь? 
3) Как реализован интерактивный поиск?
4) Что значит тормозит(объёмы данных, время, машина)? 

п.с. хочешь подробных разъяснений, задавай подробные вопросы. smile 

PM MAIL WWW Skype   Вверх
FlaGmaN
Дата 19.6.2007, 13:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Bose @ 19.6.2007,  13:23)
Цитата(FlaGmaN @  19.6.2007,  07:23 Найти цитируемый пост)
нет такое решение не подойдет. необходимо чтобы вся база была в гриде, а только потом по ней поиск осуществлялся. может есть какие предложения?

Тогда давай по-другому.

Что значит:

1) имеется база *.mdb просто ограменная(цифры давай). 
2) Какой Грид используешь? 
3) Как реализован интерактивный поиск?
4) Что значит тормозит(объёмы данных, время, машина)? 

п.с. хочешь подробных разъяснений, задавай подробные вопросы. smile

База 264426 записей. 4 столбца. 
грид самый обычный. TDBGrid. 
поиск:
Код

procedure TForm1.Edit1Change(Sender: TObject);
begin
Table1.Locate('FIO',Edit1.Text,
              [loCaseInsensitive,loPartialKey]);
if edit1.Text='' then
table1.First;              {
Table1.SetKey;
Table1.FieldByName('FIO').AsString:=Edit1.Text;
Table1.GotoNearest;                              }
end;

end.

тормозит Значит долго загружается программа, ну и естественно поиск долго происходит в связи с оъемом данных
PM MAIL WWW ICQ   Вверх
Bose
Дата 19.6.2007, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(FlaGmaN @  19.6.2007,  13:45 Найти цитируемый пост)
 264426 записей. 4 столбца. 

загружать всё это в DBGrid - это страшно. 

при этом условии:
Цитата(FlaGmaN @  19.6.2007,  07:23 Найти цитируемый пост)
необходимо чтобы вся база была в гриде, а только потом по ней поиск осуществлялся.

я не знаю чем помочь. 

п.с. ммммм... как вариант можно использовать в проекте FastMem и Fastcode библиотеки. Производительность может подрасти процентов на 10-30%. На форуме обсуждались.
PM MAIL WWW Skype   Вверх
FlaGmaN
Дата 19.6.2007, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



спасибо
остается только плакать
PM MAIL WWW ICQ   Вверх
Bose
Дата 20.6.2007, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(FlaGmaN @  19.6.2007,  16:38 Найти цитируемый пост)
остается только плакать

Нужно нормально проектировать. 
PM MAIL WWW Skype   Вверх
Savek
Дата 20.6.2007, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 355
Регистрация: 10.4.2006
Где: Воронеж

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



1. Это не огромная, и даже не большая база. Если приблизишься к миллиону, тогда подумай о замене
2. Замени ADOTable на ADODataSet и перепроектируй логику работы
3. Индексируй таблицу

Шансы на успех реальные smile 

Цитата(FlaGmaN @  19.6.2007,  07:23 Найти цитируемый пост)
нет такое решение не подойдет. необходимо чтобы вся база была в гриде

Разумное объяснение этому есть? Срмневаюсь
PM MAIL   Вверх
FlaGmaN
Дата 21.6.2007, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Savek @  20.6.2007,  16:50 Найти цитируемый пост)
Разумное объяснение этому есть? Срмневаюсь


Представь случай! приходит начальник говорот хочу чтоб было так. Хочу и все. 

Я ему. ну чтож... Любой каприз. чистотеоретическия я свою задачу выполнил (база и поиск есть), но это не есть нормальная программа. 

Будо произвоидть поиск по дазе. посмотрю чего получится 
PM MAIL WWW ICQ   Вверх
mutex
Дата 21.6.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 17.10.2004

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



FlaGmaN, попробуйте открыть этой прогой: http://wincmd.ru/download.php?id=xBaseView
Если её скорость устроить, могу дать план действий.
PM MAIL   Вверх
FlaGmaN
Дата 22.6.2007, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Кто нибудь знает как самому задавать блинну поля в DBgrid?
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0646 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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