Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности

Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
14.06.2004, 18:49
|
|||
|---|---|---|---|
|
|||
Delete |
|||
|
#18+
Почему долго происходит удаление по индексным полям: kod1 - Character(14) kod2 - Integer DELETE SEEK(kod1,'tab1','kod1') FOR AND !SEEK(kod2,'tab2','kod2') IN kod3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.06.2004, 18:51
|
|||
|---|---|---|---|
|
|||
Delete |
|||
|
#18+
Обшибся... DELETE FOR SEEK(kod1,'tab1','kod1') AND !SEEK(kod2,'tab2','kod2') IN tab3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.06.2004, 23:52
|
|||
|---|---|---|---|
Delete |
|||
|
#18+
Никогда так не писал... А не пробовали использовать DELETE SQL ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.06.2004, 12:06
|
|||
|---|---|---|---|
|
|||
Delete |
|||
|
#18+
Будет че-то типа такого: DELETE FROM tab1 WHERE exists(sele tab1.* from tab1, tab2 WHERE tab1.kod1 = tab2.kod1 AND !EXISTS(sele tab3.* from tab3 WHERE tab3.kod2 = tab1.kod2) удаление происходит медленно около 4-6 сек. сам селект выполняется меньше 1 сек. tab1 - 140 000 записей tab2 - 1 запись tab3 - 1 запись если разбить на селект и скан фор сеек, то удалить - отрабатывает меньше секунды... Хотелось бы одной командой... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.06.2004, 12:16
|
|||
|---|---|---|---|
Delete |
|||
|
#18+
Да, я использовал всегда последний вариант - находил необходимые записи и потом их удалял. На мой взгляд - проблема лежит в плоскости оптимизации. Кстати, не всегда одна команда в VFP работает быстрее, чем несколько, написанных в старой манере Но это тема уже другого топика... Good luck! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
15.06.2004, 12:35
|
|||
|---|---|---|---|
Delete |
|||
|
#18+
А почему он должен выпоняться быстро? У тебя же голое сканирование исходной таблицы. Ускорение сделано только в поиске значенией в связанных таблицах. Если бы ты использовал индекс по главной таблице, тогда было бы и ускорение. Если подчиненные таблицы имеют по одной записи, то твое условие удаления должно выглядеть примерно так: Код: plaintext 1. 2. 3. Вот если в таблице tab3 будут 2 индекса: по полю kod1 и по полю kod2. Тогда в таком синтаксисе ты и получишь ускорение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&mobile=1&tid=1596361]: |
0ms |
get settings: |
8ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 230ms |
| total: | 375ms |

| 0 / 0 |
