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

Вниз

настройки bde для dbase level 7   Найти похожие ветки 

 
grammar-nazi   (2010-02-03 15:09) [0]

доброго времени суток.

есть .dbf-таблица (27 полей, размер записи - 301 байт) с несколькими индексами (4 expression-индекса и 1 простой) в .mdx-файле. таблица содержит чуть меньше 330 тыс. записей.

проблема такова: в таблицу нужно добавить записи за текущий период. таких записей около 1100 штук. добавляется лишь 328, после чего получаю исключение EDBEngineError "Read failure" (клиент, обнаруживший данную проблему, получал на этом месте исключение EAccessViolation в IDAPI32.DLL). после исключения .dbf-файл остаётся в самом неприглядном виде - последняя запись дописана не до конца (не дописано порядка 50 байтов), средствами BDE получить доступ к последним нескольким записям невозможно, их какбы нет.

примерно тоже самое происходит при импортировании данных в пустую таблицу идентичной структуры - т.е. невозможно даже записать данные, находящиеся в таблице, в другую такую же таблицу.

при удалении всех индексов, добавление проходит на ура. при удалении большей части старых записей из таблицы - тоже. к сожалению, это не решение проблемы.

пробовал увеличивать MDX BLOCK SIZE - не помогает. нужны идеи, заранее спасибо.


 
Anatoly Podgoretsky ©   (2010-02-03 15:20) [1]

Ну так определи какой именно индекс вызывает проблемы.


 
grammar-nazi   (2010-02-03 18:34) [2]

когда определил индекс, всё оказалось до банального просто.
виноватым был единственный простой индекс (по одному полю). внимательнее посмотрел на данные; заметил, что 65% значений этого поля одинаковы. добавил в индекс ещё одно поле - всё отлично.
спасибо!



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

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

Наверх




Память: 0.47 MB
Время: 0.007 c
15-1309552203
Юрий
2011-07-02 00:30
2011.10.30
С днем рождения ! 2 июля 2011 суббота


1-1269848008
Pavel
2010-03-29 11:33
2011.10.30
Динамическое создание формы при HTTP-запросе


6-1245087660
ther
2009-06-15 21:41
2011.10.30
нет коннекта через проксик


2-1310367651
Gu
2011-07-11 11:00
2011.10.30
перемешать стринглист


15-1309804838
Медвежонок Пятачок
2011-07-04 22:40
2011.10.30
+3725991XXXX