Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как ускорить процесс открытия таблицы MS SQL Server2000? [D5, D7, MSSQL]


Страницы:   1 2

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 тысяч записей?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо