Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.26;
Скачать: CL | DM;

Вниз

Тормоза при работе с DBF   Найти похожие ветки 

 
Ruff   (2003-05-05 16:30) [0]

Ребят, у меня таблица на 20000 записей сделана одним ДБФ-ом. Во время перемещения по DBGrid-у прога ужасно тормозит. Нельзя ли от этого как-то избавиться?
База подключается из локального каталога и работает через SQLQuery.


 
Johnmen ©   (2003-05-05 17:00) [1]

Что имеется в виду под SQLQuery ?
При обратном листании тоже тормозит ?



 
Ruff   (2003-05-05 17:12) [2]

При обратном - тоже.
Я имел ввиду TQuery, просто у него на значке SQL нацарапано ;)


 
Соловьев ©   (2003-05-05 17:17) [3]

запрос вида
select *
from table

наверное?


 
Johnmen ©   (2003-05-05 17:19) [4]

Может плюнуть на разбор "почему" ?
И перестать получать невнятно большие количества ?
:)


 
Ruff   (2003-05-05 17:29) [5]

Кстати, запрос еще сложнее, чем *. Там еще куча условий...

А сократить объем БД никак нельзя. Более того он будет только расти


 
yurikon ©   (2003-05-05 17:36) [6]

Нет обработчика события OnCalcFields?
Оно может вызываться при перемещении по Grid`у...


 
Dred2k ©   (2003-05-05 17:37) [7]

А может он у тебя еще и "живой"?
(RequestLive := True)?


 
Johnmen ©   (2003-05-05 17:38) [8]

>А сократить объем БД никак нельзя

Я не призываю сокращать объем таблицы (а не БД) !
Я призываю сократить объем получаемых запросом данных.


 
sniknik ©   (2003-05-05 17:40) [9]

а если через таблицу (TTable)? не тормозит?
в смысле проверить запрос виноват или как. вообщето 20тыс плевое количество для dbf таблицы (вот 100 это уже существенно, и даже иногда смертельно).

может у тебя там куча удаленных записей? если их много может и притормозить работу.


 
Dred2k ©   (2003-05-05 17:46) [10]


> Johnmen © (05.05.03 17:38)


> Я призываю сократить объем получаемых запросом данных.


Разумеется, это имеет значение. Но только на этапе выполнения. Товарищ через БДЕ работает, а там localsql результат во временную таблицу пихает, ничего далее не выполняя (к живым запросам не относится, по ходу). Так вот на практике навигация очень быстрая. Тут другой случай, мне думается...


 
Johnmen ©   (2003-05-05 17:51) [11]

>Dred2k © (05.05.03 17:46)

Вот и мне странно это. В смысле сильного торможения торможения.
Поэтому и уточнял про обратное листание...
Насколько помнится ~ 20000-30000 записей без особых проблем...


 
Dred2k ©   (2003-05-05 17:57) [12]

> Johnmen © (05.05.03 17:51)
> Насколько помнится ~ 20000-30000 записей без особых проблем...

В принципе и больше. Ограничения - только винт и терпение юзера. Ну и блобы не дергать впрямую... Это личные наблюдения про БДЕ и localsql. Причем, localsql так пашет даже для IB, к примеру, если запрос гетерогенный (создает файл со всеми данными и по нему бегает). Тормоза у товарища либо от "навесок" на датасет, либо от "живости" запроса, либо.... (сейчас придумаем) ;)


 
sniknik ©   (2003-05-05 18:08) [13]

а еще вопрос DBGrid это именно DBGrid? не Ehxxxx, Xxxxx либо подобное? В какойто версии сталкивался там вся таблица(или часть от запроса) в память вкачивалась, как будто в StringGrid, за счет этого дополнительные возможности, но если памяти мало то и дополнительные тормоза.


 
MsGuns ©   (2003-05-05 18:23) [14]

Эхгрид тормозит однозначно.


 
Zacho ©   (2003-05-05 18:32) [15]


> MsGuns © (05.05.03 18:23)

Хм.. Не замечал. Может он тормозит, если включены футеры или еще какая-нибудь дребедень ?


 
MsGuns ©   (2003-05-05 18:49) [16]

>Zacho © (05.05.03 18:32)

Opps... Похоже, я спутал с RxLib - вот там навалено столько на бедный грид (в частности на события связанного источника данных), что уши морским узлом завязываются ;))


 
Dred2k ©   (2003-05-05 19:18) [17]


> MsGuns © (05.05.03 18:49)

Работаю именно с ним. Никаких тормозов нет. Если самому, конечно, на всякие хорошие события всякого разного не написать. Народ, порой, в него по 40-50 тыщ. выбирает с сортировкой, а потом по истории всяких там прикладных вещиц последовательно по Locate лазит (так им удобнее). Правда, при Locate всякие Before...AfterScroll и все такое я на время отрубаю. Так что...


 
Ruff   (2003-05-06 10:43) [18]


> Нет обработчика события OnCalcFields?

Нет, но был OnAfterScroll, хотя я пробовал его убрать - не помогло


> А может он у тебя еще и "живой"?

Да, это действительно сильно влияет?



> Я призываю сократить объем получаемых запросом данных.

Нужно, чтобы юзерь мог перемещаться по всей таблице. Или это реализуется иначе?


> может у тебя там куча удаленных записей?

Нет, табличка нулёвая, только что сконверченная


> а еще вопрос DBGrid это именно DBGrid?

Да, все только стандартное.


 
Dred2k ©   (2003-05-06 10:50) [19]


> Ruff (06.05.03 10:43)


> > А может он у тебя еще и "живой"?
> Да, это действительно сильно влияет?


Очень сильно. Вообще, живость ущербна. Используй неживой запрос, CachedUpdates и UpdateSQL. Будет нормально...


 
Ruff   (2003-05-06 10:57) [20]


> Dred2k ©

С тобой по аське можно связаться?
Моя - 311805858



Страницы: 1 вся ветка

Текущий архив: 2003.05.26;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.015 c
1-83485
NetKnight
2003-05-15 14:09
2003.05.26
finfirst & findnext


14-83742
k2
2003-05-07 12:51
2003.05.26
Лечение наркомании


6-83623
neodiX
2003-03-25 19:32
2003.05.26
ServerSocket(stThreadBlocking) - как правильно отсоединится?


1-83602
Imshanya
2003-05-14 13:25
2003.05.26
Хочу добавить форме published property


14-83744
Ликс
2003-05-07 09:58
2003.05.26
Условия работы в конторе?