Добрый день.
Обнаружил такую пренеприятную новость, что прямые запросы на Delete умирают
при определенных размерах файлов.
![Нерешительный Нерешительный](https://www.1cpp.ru/forumfiles/Templates/Forum/default/undecided.gif)
Исходные данные :
файл 1SCRDOC - размер 290 Мб (5,5 млн записей).
Хочу удалить порядка 10 % записей.
Комп : 3 Ггц Celeron D , 2 Гб Ram, Обычный IDE винт 7200 rpm., стоит Win XP и MS Ofiice, Fox Pro Ole Db ver 9, 1С++ 2.5.0.1
Текст обработки:
База = СоздатьОбъект("OLEDBData");
Соединение = "Provider=VFPOLEDB.1;Deleted=Yes;Data Source=" + КаталогИБ_+ ";Mode=ReadWrite;Extended Properties="";User ID="";Password="";Mask Password=False;Collating Sequence=RUSSIAN;DSN=""";
Рез = База.Соединение(Соединение);
Запрос = База.СоздатьКоманду();
ТекстЗапроса = "
|DELETE
| 1SCRDOC
|FROM
| 1SCRDOC as Ссылки
|WHERE
| Ссылки.CHILDDATE BETWEEN :НачДата~~ AND :КонДата~~
|";
Запрос.УстановитьТекстовыйПараметр("НачДата", НачДата);
Запрос.УстановитьТекстовыйПараметр("КонДата", КонДата);
Запрос.Отладка(1);
Уд = Запрос.Выполнить(ТекстЗапроса);
Интервал дат ставлю 3 месяца (когда ставил интервал 1 день тоже не дождался).
В итоге , всё затыкается, и за 10 часов результата дождаться не удалось...
Причём если размер файла 80 Мб всё выполняется за 1 мин.
При этом MS Access удаляет записи из 1SCRDOC при тех же услових (размер 290 Мб (5,5 млн записей) за 2-3 минут).
Не могу понять почему тогда 1С - ка затыкается на нём.
Может кто знает в чём проблема ?