Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: CL | DM;

Вниз

Долго загружаются данные из базы данных   Найти похожие ветки 

 
smalik ©   (2003-06-30 15:35) [0]

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

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

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


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

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


 
smalik ©   (2003-06-30 15:39) [2]

Артем!

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


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

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


 
sniknik ©   (2003-06-30 15:45) [4]

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

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


 
smalik ©   (2003-06-30 15:46) [5]

Семен!

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


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

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


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

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


 
smalik ©   (2003-06-30 15:59) [8]

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

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



 
sniknik ©   (2003-06-30 16:01) [9]

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

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


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

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

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



Страницы: 1 вся ветка

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
1-77871
Jumbo
2003-07-13 14:48
2003.07.24
Из одного проекта - две программы (Lite и Full версии)


14-78152
vidiv
2003-07-02 13:50
2003.07.24
Зачем в первой цивилизации строить ...


1-77863
Kiril
2003-07-13 15:05
2003.07.24
[Error] Unsatisfied forward or external declaration... ?


1-77990
Boss
2003-07-11 14:04
2003.07.24
Теория расписаний, помогите чем можете!!!


1-77959
Sergey SP
2003-07-10 08:38
2003.07.24
Drag&Drop в MDI child