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

Вниз

Как ускорить процесс открытия таблицы 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.026 c
3-1083040503
AntonVS
2004-04-27 08:35
2004.05.23
кирилица в FB


1-1084359481
Николай
2004-05-12 14:58
2004.05.23
Сохранение в компоненте Edit


8-1078899334
Галинка
2004-03-10 09:15
2004.05.23
Как повернуть картинку на произвольный угол?


1-1084169503
booby2004
2004-05-10 10:11
2004.05.23
различные exe после компиляции одного и того же проекта


7-1081869416
ZSD
2004-04-13 19:16
2004.05.23
Рабочий стол