Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Paradox, Открытие table/query!!! 
:(
    Опции темы
Il'ya
  Дата 27.2.2003, 04:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Тормозное открытие таблиц Standart Paradox при большом количестве записей, про Query вообще молчу. Люди поможите чем можитеconfused.gif
PM MAIL   Вверх
Cashey
Дата 27.2.2003, 04:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бессмертный
****


Профиль
Группа: Завсегдатай
Сообщений: 3441
Регистрация: 13.11.2002
Где: в столице

Репутация: 2
Всего: 60



Интересно а чем здесь можно помочь? Дельфи работает с Paradox'ом с помощью драйверов и это сильно замедляет работу и ничего тут не поделаешь. Или есть конкретный вопрос? Здесь надо иметь ввиду что на локальной СУБД компонент TQuery работает "тормознутей" чет TTable.


--------------------
библия учит любить ближнего, а камасутра обучает как именно
PM Jabber   Вверх
Il'ya
Дата 27.2.2003, 04:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Цитата
Интересно а чем здесь можно помочь? Дельфи работает с Paradox'ом с помощью драйверов и это сильно замедляет работу и ничего тут не поделаешь. Или есть конкретный вопрос? Здесь надо иметь ввиду что на локальной СУБД компонент TQuery работает "тормознутей" чет TTable.


Это ясно все!!! Ну существует же в др. драйверах SCache!!!
PM MAIL   Вверх
Medved
Дата 27.2.2003, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Какое количество записей?


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Il'ya
Дата 27.2.2003, 05:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Цитата
Какое количество записей?

2000 уже секунд 6, а на медленной машине все 15.
PM MAIL   Вверх
Medved
Дата 27.2.2003, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



При использование TTable BDE сначала запрашивает внутренную структуру таблицы, а уже потом данные из нее. Можно включить в BDE кэширование схемы (Schema Caching), что ускорит выборку записей.
Это актуально при работе с БД клиент-серверной архитектуры. Насчет локальных БД утвердительно ответить затрудняюсь.


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Medved
Дата 27.2.2003, 05:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Вот выдержки из разных FAQ:

Цитата
Очень медленный доступ к таблице при первом обращении

Данная проблема возникает из-за того, что BDE вначале запрашивает базу данных для получения информации о таблице, прежде чем он начнет с ней работать. Как только появляется информация о таблице, она кэшируется и обращение к таблице во время всего сеанса (пока TDatabase.Connection имеет значение True) происходит практически мгновенно. Для того, чтобы использовать кэшируемую информацию и при последующем запуске приложения, в конфигурации BDE найдите необходимый псевдоним и установите BDE CACHE = TRUE и BDE CACHE DIR = 'C:\temp' или любой другой удобный каталог.

ПРИМЕЧАНИЕ:При любом изменении структуры таблицы Вам придется удалять кэш вручную. Имя файла, в котором хранится кэш, Вы можете узнать, посмотрев в любом текстовом редакторе файл SCache.INI.


Цитата
Медленное открытие таблицы Paradox?

Попробуйте одну вещь: заблокируйте файл перед попыткой открытия таблицы. Данная манипуляция перед открытием таблицы создаст файл PDOXUSER.LCK. После этого открытие таблиц будет более быстрым, особенно когда их открывают, закрывают и снова открывают. После окончания удалите блокировку файла.



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Il'ya
Дата 27.2.2003, 05:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



В том то и дело что нету в локале SCache'а!!! Вопрос, можно ли его каким то образом эммулировать что ли? Не знаю что придумать: например, типа сохранять некую структуру самому, а потом подгружать... Может что то есть в функциях BDE??? :-(
PM MAIL   Вверх
Il'ya
Дата 27.2.2003, 05:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Читал я эти FAQи...
Первая выдержка - не знаю для какого драйвера она применима... (SCache есть, BDE Cache нет и поему никогда небыло)
Вторая - как можно заблокировать закрытый НДconfused.gif Или я чего не догоняюconfused.gif
PM MAIL   Вверх
Medved
Дата 27.2.2003, 05:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата
Locks a Paradox or dBASE table.

Delphi syntax:

procedure LockTable(LockType: TLockType);

C++ syntax:

void __fastcall LockTable(TLockType LockType);

Description

Call LockTable to lock a Paradox or dBASE table to prevent other applications from placing a particular type of lock on the table. LockType specifies the lock requested by this application.

Requesting a read lock prevents other applications from reading a table. Requesting a write lock prevents other application from writing to a table.

An application can request both types of lock by calling LockTable twice, once for each lock type.





Цитата
Indicates how a Paradox or dBASE table can be locked.

Unit

DBTables

Delphi syntax:

type TLockType = (ltReadLock, ltWriteLock);

C++ syntax:

enum TLockType { ltReadLock, ltWriteLock };

Description

TLockType identifies the type of a BDE lock on a Paradox or dBASE table. The following table lists the possible values:

Value Description

ltReadLock Other applications (or sessions) can not read from the table.
ltWriteLock Other applications (or sessions) can not write to the table.'



--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Il'ya
Дата 27.2.2003, 05:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Цитата
Cannot perform this operation on а closed dataset.


Как блокироватьconfused.gif
PM MAIL   Вверх
Il'ya
Дата 27.2.2003, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Неужели никто с этим не сталкивался!!!
PM MAIL   Вверх
Medved
Дата 27.2.2003, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 7209
Регистрация: 15.9.2002
Где: Kazakhstan, Astan a

Репутация: 14
Всего: 154



Цитата
2000 уже секунд 6, а на медленной машине все 15.


С таким не сталкивался.... что-то Вы Il'ya там намудрили....


--------------------
http://extreme.sport-express.ru/
...и неважно сколько падал, важно сколько ты вставал...
PM MAIL WWW ICQ Skype GTalk   Вверх
Il'ya
Дата 28.2.2003, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Цитата
С таким не сталкивался.... что-то Вы Il'ya там намудрили....

Ничего не намудрил...
Простой эксперимент:
таблица Paradox эдак полей 10;
для пущей видимости забиваем 10000 записей всякой ерундой...
Table.Open и .... 1 минута
Для интереса, соеденим эту таблицу в Query еще с одной... 3 минуты

А у меня в одном query есть 4 соединенных таблицы... 6 минут

Как бытьconfused.gif

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0500 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.