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

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

D5 + ADO + MSSQL = очень долго... [D5, WinXP]


Страницы:   1 2

SnapIn ©   (2004-03-05 05:49:00) 

Есть таблица: 75000 записей, 127 полей - на запрос " select *" уходит 50 секунд!!!
Подскажите, пожалуйста, как повысить скорость?


SnapIn   (2004-03-05 19:32:00) [1]


> Delirium ©  


Буду менять алгоритм работы программы с данными


Delirium   (2004-03-05 12:16:00) [2]

Если "D5 + ADO + MSSQL ~ 50 сек." то заявление "D5 + SQLDirect + MSSQL будет ~15 сек." выглядит полной ахинеей. Ну как ускорить в 1.2 - 1.3 раза я ещё могу себе представить (паковать трафик быстрым алгоритмом), но как ускорить покачку одной и той-же бинарной инфы в 3 с лишним раза ?!


SnapIn   (2004-03-05 12:06:00) [3]

Stas ©

> AdoQuery1.CursorLocation:=clUseServer


SergSuper

> На самом деле причина одна -  Вы хотите работать с сервером
> по идеологии фокса.
> Меняйте мышление - клиент должен получать только то что
> ему сейчас нужно, а не всю таблицу, тогда и тормозов не
> будет


Спасибо! попробую эти варианты


SPIRIT   (2004-03-05 11:50:00) [4]


> sniknik ©   (05.03.04 10:42) [17]

согласен

по ходу у него база сложная а таблица - одна и никакой речи даже о первой нормальной форме не идет.


Stas   (2004-03-05 11:07:00) [5]

У меня выполняется запрос на >100000 за 0,6 с. правда 8 колонок. Использую MSSQL+ADO сеть 100 мб.
P.S. недумаю что SQL DIRECT быстрее.


sniknik   (2004-03-05 10:42:00) [6]

может быть только от обьема перекачиваемых данных, 127 * 100б(к примеру среднее если поля строковые) * 75000 = 908мег.байт (почти гиг. попробуй гиговый файл просто по сети скопировать сколько времени займет на твоей сети?)

так что ADO тут ни причем, и переход на директ sql мало чего изменит.


Stas   (2004-03-05 10:02:00) [7]

Зачем сразу столько записей ? их все равно отобразить невозможно !


Stas   (2004-03-05 10:00:00) [8]


> Можно примерчик или статейку о том как серверный курсор
> создать и использовать, сервер мощный пусть грузится, но
> если долго будет открываться таблица пользователи точно
> в клочья разнесут...

AdoQuery1.CursorLocation:=clUseServer


SergSuper   (2004-03-05 09:50:00) [9]


> 2 SnapIn  

На самом деле причина одна -  Вы хотите работать с сервером по идеологии фокса.
Меняйте мышление - клиент должен получать только то что ему сейчас нужно, а не всю таблицу, тогда и тормозов не будет


SPIRIT   (2004-03-05 08:49:00) [10]


> SnapIn   (05.03.04 08:30) [12]

приведи к 3НФ и все будет ОК !


SnapIn   (2004-03-05 08:30:00) [11]

2 SPIRIT ©
С интербэйсом такая же ситуация именно из-за кол-ва полей была, но там выводить их все не нужно было...

Выявленные возможные причины:
1. Кривая сеть
2. Медленный ADO
3. Болшое кол-во полей


SPIRIT   (2004-03-05 08:28:00) [12]


> Сведения о земельных участках. Думаешь из-за кол-ва полей?

думаю. а конкретнее не можешь ?


SnapIn   (2004-03-05 08:17:00) [13]

2 SPIRIT ©
Сведения о земельных участках. Думаешь из-за кол-ва полей?

2 KSergey ©
Можно примерчик или статейку о том как серверный курсор создать и использовать, сервер мощный пусть грузится, но если долго будет открываться таблица пользователи точно в клочья разнесут...

2 Defunct ©
Спасибо! Уже качаю!


SPIRIT   (2004-03-05 08:11:00) [14]

127 полей ... а можно узнать что за поля ?


KSergey   (2004-03-05 07:57:00) [15]

Переводили - 1 раз, как я понимаю? 1 раз 50 сек. - это разве страшно?
Впрочем, ест ьстандартный выход - серверный курсор. Открываться будет мнгновенной, но надо четко понимат что при этом происходит! (существенно возрастающая нагрузка на сервер и замедление при переходе с записи на запись; впрочем для "ручного" перехода - не очень критичное)


Defunct   (2004-03-05 07:50:00) [16]

SnapIn   (05.03.04 07:41) [6]

http://www.dca.narod.ru/default.html


SnapIn   (2004-03-05 07:41:00) [17]

2 Defunct
мылом не нужно - выложи где-нидь и ссылку для загрузки оставь, ведь не мне одному явно это пригодится

2 KSergey ©
Записей много, потому что рабочую базу в MSSQL из Fox'a переводили

2 ALL
Выявленные возможные причины:
1. Кривая сеть
2. Медленный ADO

Что еще?


KSergey   (2004-03-05 06:48:00) [18]

И это еще не по сетке.... Ужас.
На ваш стандартный(!) вопрос - стандартный ответ: а на кой вам столько записей разом??? Нельзя ли как-то уменьшить их кол-во? Или это самоцель- вакатать столько записей?


Defunct   (2004-03-05 06:12:00) [19]

скачать не помню где, (да и он не бесплатный).

Могу мылом выслать


SnapIn   (2004-03-05 06:07:00) [20]

А где можно скачать SQLDirect?
--
нет это еще НЕ по сетки!


Страницы:   1 2

Наверх

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