Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Долго загружаются данные из базы данных [D7, Access]


smalik ©   (2003-06-30 15:35:00) 

Добрый день, Мастерам!

Буржуи прислали прайс 55 МВ в Ассеss"e 500 000 наименований, Используя ADO накатал прогу для склада. Работает все Ок, не считая долгой загрузки данных из базы по сетке. На 100 М/бит грузится 13 секунд выбор 1 позиции из базы. Наименование выбираю Select"ом. Как возможно ускорить загрузку данных, без улучшения железяк? Возможно есть какие-нибудь хитрости, более бысрый выбор, быстрее Select"а, или ещче что-нибудь.

Всем заранее спасибо! за любую полезную информацию.


Edward   (2003-07-01 09:55:00) [1]

Можно еще попробовать:

ADODataSet1.CursorLocation := clUseServer;
ADODataSet1.CursorType := ctOpenForwardOnly;


sniknik   (2003-06-30 16:01:00) [2]

добавка к
Семен Сорокин © (30.06.03 15:50)

попробуй ее сначала ключом сделать (если все неповторяющиеся, получится), по ключу поиск быстрее.
и (мало ли чего прислали), если база старая Access 97 то преобразуй к 2000-му.


smalik   (2003-06-30 15:59:00) [3]

Мужики, МАСТЕРА!

Всем СПАСИБО, к сожелению нет милисекундомера, засветить используемое время даже на 10 М/битах.


Семен Сорокин   (2003-06-30 15:50:00) [4]

smalik © (30.06.03 15:46)
В Access"e в Design"е для поля "Номер" таблы price поставь Indexed = true
да и посмотри там утилиты есть в Tools->Analyze по оптимизации


Карелин Артем   (2003-06-30 15:47:00) [5]

Индекс по полю Номер. Однозначно. У меня с индексом из таблицы на 10 000 000 записи быстрее секунды выбираются. Только база не Акцесса.


smalik   (2003-06-30 15:46:00) [6]

Семен!

На тему цифровых номеров к сожалению не получится, буквы однозначно присутствуют. Номера типа А0000000000, есть и другие маркировки. А на тему индексов, можно более подробно?


sniknik   (2003-06-30 15:45:00) [7]

индекс по Номер-у очень поможет, если он там уже есть то гдето глюк. (не может одну позицию так долго выбирать)

а если его там нет то 13 секунд на полный перебор 500 000 зап. - нормально.


Семен Сорокин   (2003-06-30 15:41:00) [8]

smalik © (30.06.03 15:39)
а Номер цифровым никак не сделать + индекс по нему?


smalik   (2003-06-30 15:39:00) [9]

Артем!

MainForm. AdoDataSet3.CommandText := "select * from price where Номер = """+ Edit1.Text+"""";


Карелин Артем   (2003-06-30 15:37:00) [10]

Было бы неплохо указать примерные запросы. А если select не простой, а с Where, то индексы возможно дадут счастие.


Наверх

Титульная страница Поиск, карта сайта Написать письмо