![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как ускорить процесс открытия таблицы MS SQL Server2000? [D5, D7, MSSQL]
denmin © (2004-04-23 09:42:00)Здравствуйте.
Как ускорить процесс открытия таблицы MS SQL Server2000? Открываю таблицу в гриде через ADOTable. В таблице порядка 100 тыс записей. Открывается очень долго. На машине Pentium 3 666 Мгц, открывается секунд 15, а чем слабее машины, тем дольше, доходит до 2 минут.
Oksana (2004-04-23 18:12:00) [1]>Так фильтр же будет только для первых 50
после применения филтра получим НД
SELECT TOP 50 * FROM ... where 'заданный Filter'
который выведет первые 50 нужных нам записей
ИМХО
Suntechnic (2004-04-23 18:08:00) [2]clickmaker © (23.04.04 17:15) [23]
> Oksana © (23.04.04 16:53) [22]
Так фильтр же будет только для первых 50
Дык "яблоко" скорее всего попадёт в это число и все будут счастливы, до тех пор пока не захоят найти "яхта" :)))
clickmaker (2004-04-23 17:15:00) [3]
> Oksana © (23.04.04 16:53) [22]
Так фильтр же будет только для первых 50
Oksana (2004-04-23 16:53:00) [4]>Вы когда в энцклопедии ищете слово "яблоко" начинаете с "А" >смотреть все подряд, порциями по 1 странице? 8-)
представляю себе так:
открыть набор SELECT TOP 50 * FROM ..., чтоб вывести что-нибудь на экран;
пользователь задает фильтр, значение которого передается в Filter для этого НД;
по Filtered := True; получаем искомое
может не права - поправьте
sniknik (2004-04-23 13:07:00) [5]> смеетесь да. ну просто решили на MS SQL и все тут.
такой переход это не просто, это нужно идеологию менять, иначе вместо скорости тормоза вместо счастья проблемы.
clickmaker (2004-04-23 11:59:00) [6]
> denmin
Есть еще AsyncFetch в ADODataSet'ах
Sergey13 (2004-04-23 11:45:00) [7]2Anatoly Podgoretsky © (23.04.04 11:42) [16]
>Колесико не расплавится при поиске и выборе нужной записи.
Кулер на мышь и все как раньше!!! 8-)
denmin (2004-04-23 11:45:00) [8]смеетесь да. ну просто решили на MS SQL и все тут.
Sergey13 (2004-04-23 11:43:00) [9]Че тогда не Оракл? Он дороже. Для защиты индексов. 8-)
Anatoly Podgoretsky (2004-04-23 11:42:00) [10]Колесико не расплавится при поиске и выборе нужной записи.
denmin (2004-04-23 11:36:00) [11]не понты. таблицы на Paradox-e разрослись, и и нет нет да индексы летят, или вообще таблицы
Sergey13 (2004-04-23 11:30:00) [12]Вопрос - зачем тогда вообще MS SQL ставили? Понты кидать?
Из старого анекдота:
-Папа, а почему же мы в дерьме живем?
-Родина, сынок, Родина!
denmin (2004-04-23 11:22:00) [13]дело в том, что раньше таблицы были Paradox, работало все быстро, ну во всяком случае быстрее и намного. но раз здесь так нельзя, значит буду порциями вытаскивать. я просто думал, может я чего не знаю. всем спасибо, что подтвердили мои догадки-опасения. почему хотелось всю таблицу, просто так было раньше на Paradox, а если сейчас поменяю что-то, то эти юзеры будут недовольны. только из-за них. все, всем спасибо. нельзя, так нельзя.
Sergey13 (2004-04-23 11:06:00) [14]2Oksana © (23.04.04 10:54) [11]
Вы когда в энцклопедии ищете слово "яблоко" начинаете с "А" смотреть все подряд, порциями по 1 странице? 8-)
Oksana (2004-04-23 10:54:00) [15]>Вот и пошли советы по извращениям. 8-)
а как же без них :)
порция - быстрый вывод на экран
фильтр - нашел что искал
работает на больших объемах
хотя, конечно, можно и подождать...
Sergey13 (2004-04-23 10:48:00) [16]Oksana © (23.04.04 10:38) [9]
Вот и пошли советы по извращениям. 8-)
Oksana (2004-04-23 10:38:00) [17]Есть пример реализации: вывод данных порцией,размер которой может изменять пользователь в заданном поле
+ фильтр (без него, наверное, при таком количестве записей не обойтись)
Nikolay M. (2004-04-23 10:15:00) [18]
> получается около 100 000 записей. пробовал и через ADODataset,
> ADOQuery, все одно. вычислений никаких, просто просмотр
> и выбор нужной записи.
Мощно, внушает...
Конечно, можно было бы кивнуть в сторону серверных курсоров, но, имхо, тут это не поможет :(
Sergey13 (2004-04-23 10:14:00) [19]2denmin © (23.04.04 09:58) [4]
>выборку я делаю
Если и в Табле и в Квери 100000 записей, то ты делаешь не выборку, а выгребание всего что есть.
Работай над фразой where.
Можно купить Феррари, но если ездить только на 1 передаче, то быстрее 30 км/ч вряд ли разгонишься. Есл только спуск очень крутой. 8-)
Jee (2004-04-23 10:08:00) [20]Кто это будет просматривать 100 тысяч записей?