Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.04.23;
Скачать: [xml.tar.bz2];

Вниз

Удаление из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.012 c
4-1138723860
Beduir
2006-01-31 19:11
2006.04.23
Как отловить событие изменения элемента в ListView


15-1143693264
DelphiN!
2006-03-30 08:34
2006.04.23
Вывод чека на ККМ Меркурий-130Ф


2-1144738702
Sinka
2006-04-11 10:58
2006.04.23
Кнопка на TaskBar


2-1144655319
Der Nechk@ssoff
2006-04-10 11:48
2006.04.23
Перенос файлов


15-1143906227
ArtemESC
2006-04-01 19:43
2006.04.23
Вопросы по PHP





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский