Текущий архив: 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.5 MB
Время: 0.04 c