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

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

Проблема выборки большого числа записей(100 000).


vitv ©   (2007-02-15 11:04:00) 

При построении отчёта производится разбивка по группа + различные подсчёты.
Отчёт на 200 страниц
Сервак - Celeron 2.8/512/SATA.
Наблюдаются не слабые тормоза.
Когда  убираю из запроса внешние связи, то работает значительно быстрее.
Как поступить в этой ситуации?


ЮЮ   (2007-02-16 11:51:00) [1]


Desdechado ©   (16.02.07 11:40) [15]
> > а разве она в винде реально ограниченна?

В этом вопросе я имел в виду не одно приложение, а "память винды", которой у автора много .


Desdechado   (2007-02-16 11:40:00) [2]

> а разве она в винде реально ограниченна?
Для win32 - 2Gb, в крайнем случае 3 (при особых настройках). Больше она под приложения не отдаст.


ЮЮ   (2007-02-16 11:27:00) [3]


> хотя оперативки хватает...


Если на компе много оперативки (а разве она в винде реально ограниченна?), это не значит, что приложение может взяьть её столько, сколько захочет. Разве не так?


Desdechado   (2007-02-16 11:11:00) [4]

> хотя оперативки хватает...
Может быть проблема фрагментирования памяти.
Вроде есть, но нужной длины непрерывного куска - нет.


vitv   (2007-02-16 11:08:00) [5]

когда страниц в отчёте больше 200 фаст репорт ругается - out of memory, хотя оперативки хватает...


vitv   (2007-02-15 12:51:00) [6]


> Desdechado ©   (15.02.07 12:12) [8]
> vitv ©   (15.02.07 11:52) [6] http://www.fluffycat.com/SQL/Cartesian-
> Joins/<Цитата>
>
>
> Desdechado ©   (15.02.07 12:15) [9]
> vitv ©   (15.02.07 11:52) [6] http://www.fluffycat.com/SQL/Cartesian-
> Joins/

Столбцы указаны явно.
Кстати недавно подхвотил, а потом исцелился :)


Desdechado   (2007-02-15 12:17:00) [7]

> Полагаешь, что 200 страниц для отчета многовато? :)
Отчет ИМХО должен быть кратким и осмысленным, чтоб руководитель мог увидеть тенденции и принять решения. Больше 2 страниц руководитель смотреть не будет.

А 200 стр - это протокол какой-то, а не отчет.


Desdechado   (2007-02-15 12:15:00) [8]

vitv ©   (15.02.07 11:52) [6]
http://www.fluffycat.com/SQL/Cartesian-Joins/


Desdechado   (2007-02-15 12:12:00) [9]

vitv ©   (15.02.07 11:52) [6]
http://www.fluffycat.com/SQL/Cartesian-Joins/


ЮЮ   (2007-02-15 12:02:00) [10]


>
> > Ты картезиан не схватил случайно?

Полагаешь, что 200 страниц для отчета многовато? :)

Если я не использую курсоров, то данные храняться в памяти или создаётся временный файл.
Это утверждение или вопрос? Если вопрос, то без специальных ухишрений, если это не dbExpress технология, имеешь клиентский курсор и результат запроса выкачивается на клиента полностью.

В BDE - в файл, в ADO и IB - не задумывался, но наверное тоже.


vitv   (2007-02-15 11:52:00) [11]


> Ты картезиан не схватил случайно?

???


Desdechado   (2007-02-15 11:42:00) [12]

Ты картезиан не схватил случайно?


vitv   (2007-02-15 11:29:00) [13]


> Индексы по полям связи присутсвуют? Поля указаны явно, а
> то вдруг какое-нибудь ненужное Memo-поле тянется? Ди и серверный
> курсор бвло бы неплохо, чем тащить всё это добро на клиент.
>

Присуствуют.
Указаны явно. Мемо тянется, маленькое :).
Если я не использую курсоров, то данные храняться в памяти или создаётся временный файл.


ЮЮ   (2007-02-15 11:17:00) [14]


> Когда  убираю из запроса внешние связи, то работает значительно
> быстрее.


Индексы по полям связи присутсвуют? Поля указаны явно, а то вдруг какое-нибудь ненужное Memo-поле тянется? Ди и серверный курсор бвло бы неплохо, чем тащить всё это добро на клиент.


Sergey13   (2007-02-15 11:12:00) [15]

> [0] vitv ©   (15.02.07 11:04)

1. Можжно с бубном вокруг сервака плясать.
2. Можно конкретныевопросы задавать - может и поможет кто.

Второй вариант производительнее.


Рамиль   (2007-02-15 11:06:00) [16]

Поменять сервер.


Наверх

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