Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Вниз

D5 + ADO + MSSQL = очень долго...   Найти похожие ветки 

 
SnapIn   (2004-03-05 05:49) [0]

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


 
Defunct ©   (2004-03-05 05:52) [1]

D5 + SQLDirect + MSSQL будет ~15 сек.


 
Defunct ©   (2004-03-05 06:03) [2]

А обращения по сетке?
PS: If кривая сеть Then 100Mb быстрее 50 сек не перешлется.


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

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


 
Defunct ©   (2004-03-05 06:12) [4]

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

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


 
KSergey ©   (2004-03-05 06:48) [5]

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


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

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

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

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

Что еще?


 
Defunct ©   (2004-03-05 07:50) [7]

SnapIn   (05.03.04 07:41) [6]

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


 
KSergey ©   (2004-03-05 07:57) [8]

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


 
SPIRIT ©   (2004-03-05 08:11) [9]

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


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

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

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

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


 
SPIRIT ©   (2004-03-05 08:28) [11]


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

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


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

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

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


 
SPIRIT ©   (2004-03-05 08:49) [13]


> SnapIn   (05.03.04 08:30) [12]

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


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


> 2 SnapIn  

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


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


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

AdoQuery1.CursorLocation:=clUseServer


 
Stas ©   (2004-03-05 10:02) [16]

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


 
sniknik ©   (2004-03-05 10:42) [17]

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

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


 
Stas ©   (2004-03-05 11:07) [18]

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


 
SPIRIT ©   (2004-03-05 11:50) [19]


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

согласен

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


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

Stas ©

> AdoQuery1.CursorLocation:=clUseServer


SergSuper

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


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


 
Delirium ©   (2004-03-05 12:16) [21]

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


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


> Delirium ©  


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



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

Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.244 c
1-1079674479
эд
2004-03-19 08:34
2004.04.04
как колонку stringgrid сделать невидимой?


1-1078941592
Raids
2004-03-10 20:59
2004.04.04
QuickReport не правильно считает по группам


3-1078741588
Serg777
2004-03-08 13:26
2004.04.04
Существует ли DBGrid с нормальной реализацией полосы прокрутки


11-1059559272
Polymorphic
2003-07-30 14:01
2004.04.04
Где взять KOLMath.pas (Нужен для StrGrd)?


3-1078502272
APXi
2004-03-05 18:57
2004.04.04
Как сделать чтобы в DBGrid работала колесо мыши?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский