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

Вниз

Удаление из DBF   Найти похожие ветки 

 
stone ©   (2006-02-26 16:13) [0]

Работаю с DBF (dBase IV) через BDE. Периодически необходимо удалять данные. Записей в файле порядка 10 млн. Удалить, в зависимости от условия (по двум полям), нужно около 500 тыс. Пока удаляю простым запросом (delete from ... where ...). Скорость удаления информации не достаточно высокая. Может у кого есть идеи как ускорить удаление инфомации?


 
Sergey13 ©   (2006-02-26 16:27) [1]

>Скорость удаления информации не достаточно высокая.
А скока точно? Индексы есть?


 
stone ©   (2006-02-26 16:34) [2]


> Sergey13 ©   (26.02.06 16:27) [1]
> Индексы есть?

Ты знаешь как в LocalSQL принудительно указать использование какого-либо индекса?


 
Sergey13 ©   (2006-02-26 16:42) [3]

2 [2] stone ©   (26.02.06 16:34)
> Ты знаешь ...
Нет. Это я с горяча. 8-)
А все таки - сколько времени удаляет? Ради интереса.
А в where сильно наворочено? В цикле удалять не пробовал?


 
stone ©   (2006-02-26 16:49) [4]


> А в where сильно наворочено? В цикле удалять не пробовал?

Довольно долго, больше часа. В цикле еще дольше.


 
Sergey13 ©   (2006-02-26 16:51) [5]

А в цикле индексы подключены?


 
stone ©   (2006-02-26 16:54) [6]


> Sergey13 ©   (26.02.06 16:51) [5]
> А в цикле индексы подключены?

Обижаешь :))
Все стандартные приемы я пробовал. Хотелось узнать, может есть какие хитрости, недокументированные возможности и т.д.


 
Johnmen ©   (2006-02-26 16:55) [7]

Думается, что индексы будут только тормозить.


 
Sergey13 ©   (2006-02-26 16:56) [8]

2[7] Johnmen ©   (26.02.06 16:55)
Я тоже к этому вел. 8-)


 
Vlad ©   (2006-02-26 16:57) [9]


> stone ©   (26.02.06 16:54) [6]


А не пробовал TDBf ?
Меня в свое время он приятно удивил по скорости, правда речь шла об insert


 
stone ©   (2006-02-26 17:09) [10]


> Johnmen ©   (26.02.06 16:55) [7]
> Думается, что индексы будут только тормозить.

Сомневаюсь, но попробую без индексов...


 
Anatoly Podgoretsky ©   (2006-02-26 18:57) [11]

Vlad ©   (26.02.06 16:57) [9]
Чтобы потерять всю базу?
В последней версии опять обнаружились серьезные глюки с индексами.
А свыше 5000 записей таблица просто портится и ремонту не подлежит.
TDBf подходит только для очень простых, не критичных проектов.
Удивляют они меня на протяжении многих лет.


 
Vlad ©   (2006-02-26 19:14) [12]


> Anatoly Podgoretsky ©   (26.02.06 18:57) [11]

Интересно, буду знать.
Не помню, правда, какую версию я использовал, но записей было около 2-3 млн. Проблем не было.


 
Anatoly Podgoretsky ©   (2006-02-26 19:17) [13]

А я их увидел на 10000, поскольку искал.
А на последней версии увидел ужас с индексами по полю типа D


 
Anatoly Podgoretsky ©   (2006-02-26 19:21) [14]

Ошибка выглядела так, имеем пустую таблицу, созданую с DBD
добавляем в цикле 10000 записей, смотри на RecordCount - видим примерно 43000.
Ладно идем в DBD и производим упаковку, снова смотрим на RecordCount - видим примерно 11000. Дальше не лечится. Моему приложению требовался правильный RecordCount

По последней версии, не работают индексы, ладно бы просто не сортировало, так в гриде показывается верную информацию по полю даты и произвольную из другиъ полей, посвторяет последнею, на которой стояло. А это уже крах.

До этого были и другие ошибки, немного они документированы в history.txt - а это единственная документация от авторов :-)


 
Vlad ©   (2006-02-26 19:22) [15]


> Anatoly Podgoretsky ©   (26.02.06 19:17) [13]

А Halcyon как себя ведет?


 
Anatoly Podgoretsky ©   (2006-02-26 19:37) [16]

Vlad ©   (26.02.06 19:22) [15]
Вроде нормально, он работает с физической структурой файла.
Кстати и здесь можно также или второй вариант - сделать шаблон в DBD (этот правильно работает, поскольку работает напрямую с БДЕ).


 
Anatoly Podgoretsky ©   (2006-02-26 19:41) [17]

Прошу прощения, отвечал на совсем другую тему.
По этой теме не могу сказать, не использую, поскольку он ориентирован на ФоксПро, а меня интересует только dBase IV
Проблему решил переходом на Absolute Database Personal Edition.
Всю задачу на нем реализовал за два часа, совместимость по форматам и многопользовательскя работа мне не требовались. Из проблем некачественная информация об рантайм ошибка с вылетом по недопустимой операции, но это мелкие недостатки.



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

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

Наверх




Память: 0.51 MB
Время: 0.04 c
3-1141198179
Sergg
2006-03-01 10:29
2006.04.23
Обновить счетчик в Акцессе


9-1128528469
747
2005-10-05 20:07
2006.04.23
Текстовый квест - нужна помощь.


2-1144397600
Creative
2006-04-07 12:13
2006.04.23
как сохранить TList


15-1143862359
Pazitron_Brain
2006-04-01 07:32
2006.04.23
Почему этот скрипт не отображает результат?


15-1143802154
Virtual FreeBSD 4.10
2006-03-31 14:49
2006.04.23
VMWare