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

Вниз

Как ускорить процесс открытия таблицы MS SQL Server2000?   Найти похожие ветки 

 
denmin ©   (2004-04-23 09:42) [0]

Здравствуйте.
Как ускорить процесс открытия таблицы MS SQL Server2000? Открываю таблицу в гриде через ADOTable. В таблице порядка 100 тыс записей. Открывается очень долго. На машине Pentium 3 666 Мгц, открывается секунд 15, а чем слабее машины, тем дольше, доходит до 2 минут.


 
Sergey13 ©   (2004-04-23 09:48) [1]

>Как ускорить процесс
Если нормально, то посмотрев на название сервера, перейти на этот самый SQL и работать над фразой where.


 
Johnmen ©   (2004-04-23 09:50) [2]

А я уже упоминал про одного перца, который хотел 3 млн записей и ждал >1 часа и не дожидался...:)
Делайте выводы...


 
Jee ©   (2004-04-23 09:51) [3]

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


 
denmin ©   (2004-04-23 09:58) [4]

выборку я делаю, получается около 100 000 записей. пробовал и через ADODataset, ADOQuery, все одно. вычислений никаких, просто просмотр и выбор нужной записи.


 
DenK_vrtz ©   (2004-04-23 10:04) [5]

>denmin ©

Johnmen © ясно ж дал понять, в чем засада.
какая пропускная способность сети? сколько информации в 100 000 записей? вот и считай сколько времени уйдет, чтобы эту инфу перекачать на твой комп!

P.S. а все 100 000 сразу нужны?


 
Jee ©   (2004-04-23 10:08) [6]

Кто это будет просматривать 100 тысяч записей?


 
Sergey13 ©   (2004-04-23 10:14) [7]

2denmin ©   (23.04.04 09:58) [4]
>выборку я делаю
Если и в Табле и в Квери 100000 записей, то ты делаешь не выборку, а выгребание всего что есть.
Работай над фразой where.
Можно купить Феррари, но если ездить только на 1 передаче, то быстрее 30 км/ч вряд ли разгонишься. Есл только спуск очень крутой. 8-)


 
Nikolay M. ©   (2004-04-23 10:15) [8]


> получается около 100 000 записей. пробовал и через ADODataset,
> ADOQuery, все одно. вычислений никаких, просто просмотр
> и выбор нужной записи.

Мощно, внушает...
Конечно, можно было бы кивнуть в сторону серверных курсоров, но, имхо, тут это не поможет :(


 
Oksana ©   (2004-04-23 10:38) [9]

Есть пример реализации: вывод данных порцией,размер которой может изменять пользователь в заданном поле
+ фильтр (без него, наверное, при таком количестве записей не обойтись)


 
Sergey13 ©   (2004-04-23 10:48) [10]

Oksana ©   (23.04.04 10:38) [9]
Вот и пошли советы по извращениям. 8-)


 
Oksana ©   (2004-04-23 10:54) [11]

>Вот и пошли советы по извращениям. 8-)
а как же без них :)
порция - быстрый вывод на экран
фильтр - нашел что искал

работает на больших объемах

хотя, конечно, можно и подождать...


 
Sergey13 ©   (2004-04-23 11:06) [12]

2Oksana ©   (23.04.04 10:54) [11]
Вы когда в энцклопедии ищете слово "яблоко" начинаете с "А" смотреть все подряд, порциями по 1 странице? 8-)


 
denmin ©   (2004-04-23 11:22) [13]

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


 
Sergey13 ©   (2004-04-23 11:30) [14]

Вопрос - зачем тогда вообще MS SQL ставили? Понты кидать?

Из старого анекдота:
-Папа, а почему же мы в дерьме живем?
-Родина, сынок, Родина!


 
denmin ©   (2004-04-23 11:36) [15]

не понты. таблицы на Paradox-e разрослись, и и нет нет да индексы летят, или вообще таблицы


 
Anatoly Podgoretsky ©   (2004-04-23 11:42) [16]

Колесико не расплавится при поиске и выборе нужной записи.


 
Sergey13 ©   (2004-04-23 11:43) [17]

Че тогда не Оракл? Он дороже. Для защиты индексов. 8-)


 
denmin ©   (2004-04-23 11:45) [18]

смеетесь да. ну просто решили на MS SQL и все тут.


 
Sergey13 ©   (2004-04-23 11:45) [19]

2Anatoly Podgoretsky ©   (23.04.04 11:42) [16]
>Колесико не расплавится при поиске и выборе нужной записи.
Кулер на мышь и все как раньше!!! 8-)


 
clickmaker ©   (2004-04-23 11:59) [20]


> denmin

Есть еще AsyncFetch в ADODataSet"ах


 
sniknik ©   (2004-04-23 13:07) [21]

> смеетесь да. ну просто решили на MS SQL и все тут.
такой переход это не просто, это нужно идеологию менять, иначе вместо скорости тормоза вместо счастья проблемы.


 
Oksana ©   (2004-04-23 16:53) [22]

>Вы когда в энцклопедии ищете слово "яблоко" начинаете с "А" >смотреть все подряд, порциями по 1 странице? 8-)

представляю себе так:
открыть набор SELECT TOP 50 * FROM ..., чтоб вывести что-нибудь на экран;
пользователь задает фильтр, значение которого передается в  Filter для этого НД;
по Filtered := True; получаем искомое

может не права - поправьте


 
clickmaker ©   (2004-04-23 17:15) [23]


> Oksana ©   (23.04.04 16:53) [22]

Так фильтр же будет только для первых 50


 
Suntechnic ©   (2004-04-23 18:08) [24]

clickmaker ©   (23.04.04 17:15) [23]
> Oksana ©   (23.04.04 16:53) [22]
Так фильтр же будет только для первых 50


Дык "яблоко" скорее всего попадёт в это число и все будут счастливы, до тех пор пока не захоят найти "яхта" :)))


 
Oksana ©   (2004-04-23 18:12) [25]

>Так фильтр же будет только для первых 50

после применения филтра получим НД
SELECT TOP 50 * FROM ... where "заданный Filter"
который выведет первые 50 нужных нам записей
ИМХО



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

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

Наверх





Память: 0.51 MB
Время: 0.055 c
11-1069402107
Gandalf
2003-11-21 11:08
2004.05.23
Apollo project?


14-1083291115
Думкин
2004-04-30 06:11
2004.05.23
С днем рождения! 30 апреля


4-1081163464
Arturchik
2004-04-05 15:11
2004.05.23
Не хочет работать в OnShow(OnCreate): if Process32First(handler,d


1-1084277671
Stas
2004-05-11 16:14
2004.05.23
MDI-Формы


14-1083470203
Думкин
2004-05-02 07:56
2004.05.23
С днем рождения! 2 мая.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский