Текущий архив: 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.48 MB
Время: 0.013 c