Медленый TADOTable...
От: Greeka  
Дата: 24.02.05 16:48
Оценка:
Подскажите мне неразумному как справиться с такой проблемой:

Есть таблица авторов с 18000 записей (база Access).

Доступаюсь я к данным при помощи TADOTable.

Проблема заключается в двух вещах:
1. Очень долго загружается программа из-за вычитки 18000 записей из таблицы авторов
2. Очень долго происходит обновление (post) информации.

      ArtGalaryData.tblAuthors.Post();
      RecNo := ArtGalaryData.tblAuthors.RecNo;
      ArtGalaryData.tblAuthors.Requery();
      ArtGalaryData.tblAuthors.RecNo := RecNo;


Из-за чего могут быть проблемы?

Благодарен за любые предположения!
Re: Медленый TADOTable...
От: Greeka  
Дата: 24.02.05 17:26
Оценка:
G>Благодарен за любые предположения!

Исправить ситуацию не могу по незнанию, а заказчик очень недоволен.

Помогите пожалуйста, я в потерях!
Re: Медленый TADOTable...
От: wildwind Россия  
Дата: 24.02.05 18:02
Оценка:
Здравствуйте, Greeka, Вы писали:

G>1. Очень долго загружается программа из-за вычитки 18000 записей из таблицы авторов

А на фига тебе вычитывать все 18000 записей при загрузке программы?
Re[2]: Медленый TADOTable...
От: Greeka  
Дата: 24.02.05 18:11
Оценка:
Здравствуйте, wildwind, Вы писали:

W>Здравствуйте, Greeka, Вы писали:


G>>1. Очень долго загружается программа из-за вычитки 18000 записей из таблицы авторов

W>А на фига тебе вычитывать все 18000 записей при загрузке программы?

ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...
Re[2]: Медленый TADOTable...
От: Vodyamba Россия  
Дата: 25.02.05 05:00
Оценка:
У меня тоже проблемки есть с TADOTable ....

У тебя стоит функция Requery... вот она и тормозит... т.к. она можно сказать заново открывает набор... чекм больше таблица, тем круче тормоз.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[3]: Медленый TADOTable...
От: Callisto  
Дата: 25.02.05 07:23
Оценка:
G>ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...

и что, пользователю хочется смотреть на все эти 18000 записей сразу ?
Re[3]: Медленый TADOTable...
От: Demiurg  
Дата: 25.02.05 08:29
Оценка: 2 (1)
Здравствуйте, Greeka, Вы писали:

G>>>1. Очень долго загружается программа из-за вычитки 18000 записей из таблицы авторов

W>>А на фига тебе вычитывать все 18000 записей при загрузке программы?

G>ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...


Испольбзуй TADOQuery, а в гриде установи в true свойство GridMode.
... << RSDN@Home 1.1.4 beta 4 303, BUTUSOV I DEADUShKI — DESYaT' ShAGOV>>
Re[3]: Медленый TADOTable...
От: Greeka  
Дата: 25.02.05 09:45
Оценка:
Здравствуйте, Vodyamba, Вы писали:

V>У меня тоже проблемки есть с TADOTable ....


V>У тебя стоит функция Requery... вот она и тормозит... т.к. она можно сказать заново открывает набор... чекм больше таблица, тем круче тормоз.


Я делаю Requery, для того чтобы изменения вносимые в грид, применялись к самой таблице, потому как заметил, что не обновляется база иногда. Как это настроить?
Re[4]: Медленый TADOTable...
От: Greeka  
Дата: 25.02.05 09:49
Оценка:
Здравствуйте, Callisto, Вы писали:

G>>ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...


C>и что, пользователю хочется смотреть на все эти 18000 записей сразу ?


Пользователю нужно выбрать нужную ему запись из этой балицы... как это еще сделать при помощи грида?

Честно говоря я предполаю, что TADOTable не должен подгружать сразу все 1800 записей, а только часть для отображения, только как это настроить я не знаю...
Re[4]: Медленый TADOTable...
От: Greeka  
Дата: 25.02.05 10:11
Оценка:
Здравствуйте, Demiurg, Вы писали:

D>Здравствуйте, Greeka, Вы писали:


G>>>>1. Очень долго загружается программа из-за вычитки 18000 записей из таблицы авторов

W>>>А на фига тебе вычитывать все 18000 записей при загрузке программы?

G>>ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...


D> Испольбзуй TADOQuery, а в гриде установи в true свойство GridMode.


Спасибо , установил в true свойство GridMode, загружаются данные и обновляются при изменениеи намного бастрее!

Но возникла другая проблемка, перестала работать сортировка в гриде, при клике на заголовке поля. Как это исправляется?

Попутный вопрос, а зачем использовать TADOQuery?
Re[5]: Медленый TADOTable...
От: Demiurg  
Дата: 25.02.05 10:22
Оценка:
Здравствуйте, Greeka, Вы писали:

G>>>ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...


D>> Испольбзуй TADOQuery, а в гриде установи в true свойство GridMode.


G>Спасибо , установил в true свойство GridMode, загружаются данные и обновляются при изменениеи намного бастрее!


G>Но возникла другая проблемка, перестала работать сортировка в гриде, при клике на заголовке поля. Как это исправляется?


Да, при GridMode сортировка не работает.

G>Попутный вопрос, а зачем использовать TADOQuery?


Сделать свою сортировку. Не знаю, правда, может и в TADOTable можно, никогда не использовал этот компонент, так как зачем на клиенте иметь все записи из таблицы?
... << RSDN@Home 1.1.4 beta 4 303, 1995 — Kletka>>
Re[6]: Медленый TADOTable...
От: Greeka  
Дата: 25.02.05 10:40
Оценка:
G>>Но возникла другая проблемка, перестала работать сортировка в гриде, при клике на заголовке поля. Как это исправляется?

D> Да, при GridMode сортировка не работает.

жалка

G>>Попутный вопрос, а зачем использовать TADOQuery?


D> Сделать свою сортировку. Не знаю, правда, может и в TADOTable можно, никогда не использовал этот компонент, так как зачем на клиенте иметь все записи из таблицы?


ЭЭээ , ну так все-равно ведь TADOQuery отображает все выбранные записи или же он для показа невидимой области он делается отдельный запрос?
Re[6]: Медленый TADOTable...
От: Shtirliz Россия  
Дата: 25.02.05 10:51
Оценка: 2 (1)
Здравствуйте, Demiurg, Вы писали:

D>Здравствуйте, Greeka, Вы писали:


G>>>>ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...


D>>> Испольбзуй TADOQuery, а в гриде установи в true свойство GridMode.


G>>Спасибо , установил в true свойство GridMode, загружаются данные и обновляются при изменениеи намного бастрее!


G>>Но возникла другая проблемка, перестала работать сортировка в гриде, при клике на заголовке поля. Как это исправляется?


D> Да, при GridMode сортировка не работает.


G>>Попутный вопрос, а зачем использовать TADOQuery?


D> Сделать свою сортировку. Не знаю, правда, может и в TADOTable можно, никогда не использовал этот компонент, так как зачем на клиенте иметь все записи из таблицы?


Своя сортировка для ADO
например сортировка по имени при клике на колонку:

  Твоя_АДО_Таблица.Sort := 'Name ASC';


Это свойство идет от TCustomADODataSet...

Мобыть поможет....
... -= RSDN@Home 1.1.4 beta 4 rev 303 =- А в Winamp'e: 07 Electrica cd2 — 07 Electrica cd2
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re[7]: Медленый TADOTable...
От: Demiurg  
Дата: 25.02.05 10:56
Оценка:
Здравствуйте, Greeka, Вы писали:

G>>>Попутный вопрос, а зачем использовать TADOQuery?


D>> Сделать свою сортировку. Не знаю, правда, может и в TADOTable можно, никогда не использовал этот компонент, так как зачем на клиенте иметь все записи из таблицы?


G>ЭЭээ , ну так все-равно ведь TADOQuery отображает все выбранные записи или же он для показа невидимой области он делается отдельный запрос?


Забей, при GridMode не все данные загружаются и в твоем случае. Я предложил использовать запрос для реализации сортировки, а так попробуй как Штирлиц предложил с таблицей, может сработает.
... << RSDN@Home 1.1.4 beta 4 303, 1996 — Sinoptiki>>
Re[7]: Медленый TADOTable...
От: Greeka  
Дата: 25.02.05 11:12
Оценка:
Здравствуйте, Shtirliz, Вы писали:

S>Здравствуйте, Demiurg, Вы писали:


D>>Здравствуйте, Greeka, Вы писали:


G>>>>>ДА у меня к TADOTable подключен грид(TcxGrid), который эти записи отображает...


D>>>> Испольбзуй TADOQuery, а в гриде установи в true свойство GridMode.


G>>>Спасибо , установил в true свойство GridMode, загружаются данные и обновляются при изменениеи намного бастрее!


G>>>Но возникла другая проблемка, перестала работать сортировка в гриде, при клике на заголовке поля. Как это исправляется?


D>> Да, при GridMode сортировка не работает.


G>>>Попутный вопрос, а зачем использовать TADOQuery?


D>> Сделать свою сортировку. Не знаю, правда, может и в TADOTable можно, никогда не использовал этот компонент, так как зачем на клиенте иметь все записи из таблицы?


S>Своя сортировка для ADO

S>например сортировка по имени при клике на колонку:

S>
S>  Твоя_АДО_Таблица.Sort := 'Name ASC';
S>


S>Это свойство идет от TCustomADODataSet...


S>Мобыть поможет....


Ок, спасибо
Думаю поможет
Re[4]: Медленый TADOTable...
От: Vodyamba Россия  
Дата: 27.02.05 23:01
Оценка:
Здравствуйте, Greeka, Вы писали:

G>Я делаю Requery, для того чтобы изменения вносимые в грид, применялись к самой таблице, потому как заметил, что не обновляется база иногда. Как это настроить?


Вообще TADOTAble борланд сделала, только для совместимости с TTable (которая BDE), а всё, что для совместимости, то всё не очень-то...

У меня тоже проблема с TADOQuery, это тоже самое только в профиль.... хотел сделать тел.справочник... но там 1 000 000 номеров и как-то всё медлено работает... медленене, чем в оригинале у автора... хотелось сделать программу получше, а получается как всегда...
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[5]: Медленый TADOTable...
От: Shtirliz Россия  
Дата: 28.02.05 06:01
Оценка:
Здравствуйте, Vodyamba, Вы писали:

V>Здравствуйте, Greeka, Вы писали:


G>>Я делаю Requery, для того чтобы изменения вносимые в грид, применялись к самой таблице, потому как заметил, что не обновляется база иногда. Как это настроить?


V>Вообще TADOTAble борланд сделала, только для совместимости с TTable (которая BDE), а всё, что для совместимости, то всё не очень-то...


V>У меня тоже проблема с TADOQuery, это тоже самое только в профиль.... хотел сделать тел.справочник... но там 1 000 000 номеров и как-то всё медлено работает... медленене, чем в оригинале у автора... хотелось сделать программу получше, а получается как всегда...


А любая обертка работает медленее... То же самое и с TADOQuery
Тормозит наверное при частом переборе записей?
... -= RSDN@Home 1.1.4 beta 4 rev 345 =- А в Winamp'e: А в Winamp'е: И ничего не слышно...
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re[6]: Медленый TADOTable...
От: Vodyamba Россия  
Дата: 28.02.05 06:30
Оценка:
Здравствуйте, Shtirliz, Вы писали:

S>А любая обертка работает медленее... То же самое и с TADOQuery

S>Тормозит наверное при частом переборе записей?

Перебирать не требуется... тормозит при выполнении SQL запроса... причём всегда...
можно как нибудь кэшировать базу при запуске программы, что бы потом все запросы выполнялись побыстрее...
таблица только для просмотра нужна...

База у меня Access...
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Re[7]: Медленый TADOTable...
От: Shtirliz Россия  
Дата: 28.02.05 06:37
Оценка:
Здравствуйте, Vodyamba, Вы писали:

V>Здравствуйте, Shtirliz, Вы писали:


S>>А любая обертка работает медленее... То же самое и с TADOQuery

S>>Тормозит наверное при частом переборе записей?

V>Перебирать не требуется... тормозит при выполнении SQL запроса... причём всегда...

V>можно как нибудь кэшировать базу при запуске программы, что бы потом все запросы выполнялись побыстрее...
V>таблица только для просмотра нужна...

V>База у меня Access...


А ты уверен, что тормозит TADOQuery? Мне кажется — это Акцес...
При обычных запросах он не тормозит вроде как.
Не замечал.
... -= RSDN@Home 1.1.4 beta 4 rev 345 =- А в Winamp'e: А в Winamp'е: И ничего не слышно...
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re[8]: Медленый TADOTable...
От: Vodyamba Россия  
Дата: 28.02.05 06:41
Оценка:
Здравствуйте, Shtirliz, Вы писали:

Может и Access тормозит, просто таблица 1 000 000 строк.

Есть ли смысл уменьшать величину текстового поля в Access, вроде это же не DBase и на размер базы не влияет?

S>А ты уверен, что тормозит TADOQuery? Мне кажется — это Акцес...

S>При обычных запросах он не тормозит вроде как.
S>Не замечал.
... << RSDN@Home 1.1.4 beta 3 rev. 185>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.