Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Горячая тема (более 10 ответов) Файл DBF растет... (может кто сможет объяснить) (число прочтений - 5912 )
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Файл DBF растет... (может кто сможет объяснить)
18. Ноября 2007 :: 21:45
Печать  
Суть такова.
Есть справочник "ХранилищеЗначений" (1С 7.7) в котором два поля:
1. ТипВид: "Справочник", без вида
2. ТипВид: Строка, неграниченной длины

В общем в первом я храню ссылку на Элемент который послал файл, а строка - хранит бинарное представление файла. Зачем такой справочник это отдельная тема.
Так вот гружу я туда файл (размер 300Кб), размер DBF справочника = 500Кб
Загружаю второй файл (тот же самый), размер DBF справочника = 1000Кб.
Вроде проблем нет пока...

Но тут самое веселое удаляю я элемент из справочника методом Удалить(1) и что? Размер файла справочника не уменьшается ни на байт, все те же 1000 Кб.
Очищаю весь справочник, а размер файла все равно тот же.... 1000 Кб.

Но самое интересное наступает потом:
Добавляю снова тот же файл (300Кб) и размер DBF как был 1000 так и остается, добавляю второй все так же, добавляю третий и тогда 1500 Кб...

Опять очищаю справочник. Размер DBF - 1500Кб...

НО после очищения в DBF нет ни одной строки...

В общем какие есть идеи. А главное как с этим бороться? Плачущий
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #1 - 18. Ноября 2007 :: 21:57
Печать  
Вроде как 1с у дбф хранит элементы неограниченной длины вообще в таблице с константами?
  
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #2 - 18. Ноября 2007 :: 22:04
Печать  
vandalsvq писал(а) 18. Ноября 2007 :: 21:45:
Но тут самое веселое удаляю я элемент из справочника методом Удалить(1) и что? Размер файла справочника не уменьшается ни на байт, все те же 1000 Кб.
Очищаю весь справочник, а размер файла все равно тот же.... 1000 Кб.(


Вот как раз тут нет ничего удивительного - "Удалить(1)" не удаляет запись в файле ДБФ физически,
для этого необходимо делать упаковку ДБФ файлов....
  
Наверх
wwwICQ  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #3 - 19. Ноября 2007 :: 03:05
Печать  
А при добавлении новой записи - если есть "удаленная"(DELETED) запись -
новая запись пишется на ее место

Вообще, если интересно наблюдать - что происходит "физически" - лучше просматривать
таблицу через Fox после каждой манипуляции (1С при этом нужно закрывть)
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #4 - 19. Ноября 2007 :: 04:34
Печать  
noprogrammer писал(а) 18. Ноября 2007 :: 22:04:
vandalsvq писал(а) 18. Ноября 2007 :: 21:45:
Но тут самое веселое удаляю я элемент из справочника методом Удалить(1) и что? Размер файла справочника не уменьшается ни на байт, все те же 1000 Кб.
Очищаю весь справочник, а размер файла все равно тот же.... 1000 Кб.(


Вот как раз тут нет ничего удивительного - "Удалить(1)" не удаляет запись в файле ДБФ физически,
для этого необходимо делать упаковку ДБФ файлов....


Имеешь ввиду rar-ом или просто выгрузкой загрузкой?
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #5 - 19. Ноября 2007 :: 05:30
Печать  
(vandalsvq) - Я имею ввиду "тестирование и сиправление ИБ > упаковка таблиц ИБ" ну или выгрузкой\загрузкой данных (просто это долгая процедура)
  
Наверх
wwwICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #6 - 19. Ноября 2007 :: 05:36
Печать  
noprogrammer писал(а) 19. Ноября 2007 :: 05:30:
(vandalsvq) - Я имею ввиду "тестирование и сиправление ИБ > упаковка таблиц ИБ" ну или выгрузкой\загрузкой данных (просто это долгая процедура)

Где - то в инете валялась утиля для упаковки

Можно в фоксе написать, только с ним кучу библиотек тоскать придется
  
Наверх
ICQ  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #7 - 19. Ноября 2007 :: 06:08
Печать  
noprogrammer писал(а) 19. Ноября 2007 :: 05:30:
(vandalsvq) - Я имею ввиду "тестирование и сиправление ИБ > упаковка таблиц ИБ" ну или выгрузкой\загрузкой данных (просто это долгая процедура)


О... точно. Спасибо.  Подмигивание
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
Z1
God Member
*****
Отсутствует


I Love YaBB 2!

Сообщений: 2906
Местоположение: Москва
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #8 - 19. Ноября 2007 :: 17:16
Печать  
Nick писал(а) 19. Ноября 2007 :: 05:36:
noprogrammer писал(а) 19. Ноября 2007 :: 05:30:
(vandalsvq) - Я имею ввиду "тестирование и сиправление ИБ > упаковка таблиц ИБ" ну или выгрузкой\загрузкой данных (просто это долгая процедура)

Где - то в инете валялась утиля для упаковки

Можно в фоксе написать, только с ним кучу библиотек тоскать придется

можно и через 1с
Код
Выбрать все
Xbase.сжать()
 


Только обращаться из другой бд
  
Наверх
 
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #9 - 19. Ноября 2007 :: 18:10
Печать  
А на скуле таже история будет ? или нет? Улыбка
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #10 - 19. Ноября 2007 :: 18:40
Печать  
Зачем его вообще сжимать?
По мере ввода новых данных они будут вставать на место удаленных.
В ДБФ к тому же стоит фильтр NOT DELETED - удаленные записи игнорируются индексами.

Единственно есть ограничение на 2 Гб - т.е. ДБФ не очень то  подходит для хранения файлов ...
  
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #11 - 19. Ноября 2007 :: 19:02
Печать  
vandalsvq писал(а) 19. Ноября 2007 :: 18:10:
А на скуле таже история будет ? или нет? Улыбка

Конечно будет.

Представь себя на месте разработчика БД.

Тебе нужно запрограммировать удаление данных.

Данные находятся где-то в середине.

Удаление должно быть быстрым.
  
Наверх
www  
IP записан
 
vandalsvq
1c++ power user
Отсутствует


Я всего лишь als-особиратель
;-)

Сообщений: 2487
Местоположение: Уфа
Зарегистрирован: 18. Июля 2007
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #12 - 19. Ноября 2007 :: 19:41
Печать  
kiruha писал(а) 19. Ноября 2007 :: 18:40:
Зачем его вообще сжимать?
По мере ввода новых данных они будут вставать на место удаленных.
В ДБФ к тому же стоит фильтр NOT DELETED - удаленные записи игнорируются индексами.

Единственно есть ограничение на 2 Гб - т.е. ДБФ не очень то  подходит для хранения файлов ...


Вот так и напишем к разработке: "Рекомендовано для SQL"  Очень довольный
Вот если подумать... если пользователи будут активно пользоваться  данной возможностью (хоть я и поставил ограничение по файлам не более 300Кб) то 2Гб... это не так уж и много... а что будет дальше?  Круглые глаза

Можно конечно использовать сжатие при сохранении файлов, ну вырастет возможность с 4000 файлов до 6000. (4000 потому что в среднем 300Кб файл занимает 500Кб в таблице)... а дальше что... проверяем справочник на количество элементов в нем?

"Интересно девки пляшут"... (с)
  

Отхожу от дел. Долго и мучительно.
Наверх
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Файл DBF растет... (может кто сможет объяснить
Ответ #13 - 20. Ноября 2007 :: 02:47
Печать  
Спрашиваешь имя файла у MetaDatWork.
Размер ДБФ-ки - хоть средствами ФС, хоть BinaryData или ещё чего...
Да ведь?
(Кстати - тоже нужно сделать Улыбка )
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать