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

Вниз

dBase antifreeze   Найти похожие ветки 

 
Hyboid ©   (2003-10-20 19:04) [0]

Привет, всем!

Исходные данные:
<Таблица 1> - dBase ~20Mb
<Таблица 2> - dBase ~3Mb
Запрос типа:


DELETE FROM <Имя таблицы 1> AS Table1
WHERE EXIST(
SELECT <Поле 1>
FROM <Имя таблицы 2> AS Table2
WHERE Table1.<Поле 1> = Table2.<Поле 1>
)


Работает достаточно долго. Использование CPU 100%.
И все такое.

1) Предполагаю, что лучше использовать цикл FOR (есть ли он),
меняя вложенность SELECT c DELETE, но не знаю как.
Документация по dBase нулевая.
2) Что делать с загрузкой CPU ?
3) Можно ли как нибудь оценить примерное время выполнение
запроса.

Заранее спасибо.


 
Vlad ©   (2003-10-20 19:10) [1]

Индекс по полю Table2.<Поле 1> спасет.
Если нет, переделай запрос
DELETE FROM <Имя таблицы 1> AS Table1
WHERE (SELECT count(*)
FROM <Имя таблицы 2> AS Table2
WHERE Table1.<Поле 1> = Table2.<Поле 1>) > 0
Тоже необходим индекс.



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

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

Наверх




Память: 0.46 MB
Время: 0.024 c
1-41678
MAPIIIAJL
2003-11-03 15:15
2003.11.13
Проблема с прорисовкой в Chart


1-41726
hooky-mars
2003-11-02 14:28
2003.11.13
Настройки Explorer`а


6-41844
LOX
2003-09-10 07:48
2003.11.13
Отпрака письма


14-41892
Layner
2003-10-21 11:53
2003.11.13
Преобразовывание цифрового ряда из 24 цифр в 48 цифр


1-41607
Alex-21
2003-10-13 22:41
2003.11.13
SynEdit