|
Очень большой результирующий набор на выходе запроса
|
|||
---|---|---|---|
#18+
Резуьтатом работы запроса TQuery к MS SQL Server 7.0 является очень большой результирующий набор строк открывается 27с. Подскажите как можно открывать не весь, а часть или может есть другие варианты ускорения открытия запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2001, 06:19 |
|
Очень большой результирующий набор на выходе запроса
|
|||
---|---|---|---|
#18+
1. А нужен ли такой результат запроса вообще? Скорее всего нет, поэтому нужно сам запрос подшаманить. 2. Вообще можно ограничить результат: select TOP 100(или 111, или сколько надо) * from ... Кажется мне, что не нужен такой гигантский результат вообще... Чего вообще то выбирается ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2001, 07:23 |
|
Очень большой результирующий набор на выходе запроса
|
|||
---|---|---|---|
#18+
Производиться просмотр таблицы которая содержит очень много записей, и нужны всегда свежие данные, я на событие формы OnShow посадил обновление которое как выше было сказано идёт 27с. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.08.2001, 09:13 |
|
Очень большой результирующий набор на выходе запроса
|
|||
---|---|---|---|
#18+
А кому нужно то ? Предположим, что результирующий набор записей 10000. Ну не может человек, в силу своих физиологических особенностей обозреть такой набор. Все равно, происходит его сужение по каким либо критериям. Если критерии статические, то имеет смысл организовать это все в виде дерева, так, чтобы на нижнем уровне было не более 100 записей, что будет обновляться в лет. А дерево формировать динамически, и сбалансировать его так, что бы на каждое его открытие извлекалось не более 10-20 записей. Т.е. схема такая, человек решает, в какой области набора данных он будет работать, приходит в эту область и работает. Если критерии динамические, тогда надо строить, систему настраиваемых фильтров, опять таки, ограничивая результирующий набор в 100 записей. Вероятно возможен и комбинированный подход. В любом случае нужно исходить из прикладной логики задачи ... |
|||
:
Нравится:
Не нравится:
|
|||
03.09.2001, 02:42 |
|
Очень большой результирующий набор на выходе запроса
|
|||
---|---|---|---|
#18+
Попробуй использовать курсор, это такая фишка в СКЛ есть, она делает выборку хоть мильён строк, а показывает одну, и еще его можно сделать прокручивающимся. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.09.2001, 10:03 |
|
Очень большой результирующий набор на выходе запроса
|
|||
---|---|---|---|
#18+
Вообще, если сам по себе запрос отрабатывает быстро, то вся задержка связана с дочиткой записей на клиента. Необходимо подавить данную дочитку. Для этого данный запрос должен быть открыт в другом соединении с БД (свой TSession), т.к. буквально следующий запрос в том же соединении вызывает дочитку предыдущего запроса. Использование методов recordcount и Last тоже приводят к дочитке. Если recordcount используется для определения наличия записей (recordcount > 0) то правильнее будут использовать метод IsEmpty) Все вышесказанное верно для TQuery. Успехов. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2001, 07:05 |
|
|
start [/forum/topic.php?fid=58&msg=32013605&tid=2120109]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 252ms |
total: | 399ms |
0 / 0 |