powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Накапливается мусор select count(*) не помогает
25 сообщений из 111, страница 2 из 5
Накапливается мусор select count(*) не помогает
    #38713852
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ivan_Pisarevsky,

извиняюсь. Сказанное верно только RC.
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713878
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гаджимурадов РустамНе "пользуйся".
Не пиши.
Читай.
Начни с книг или ibase.ru.

на счет "пользуюсь" - не правильно выразился.
Да все мы понимаем, долгоживущих пишущих быть не должно. Азы читали.
Вопрос про не уменьшение базы задал т.к. не логично при чистке от мусора не видеть уменьшение БД.
На нашем белом свете много разного добра (СУБД, стеков технологий в виде фреймоворком при построении архитектуры ПО и пр.) и чтобы все изучить жизни не хватит. Важно понимать суть и тонкости всегда можно уточнить.
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713887
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012Вопрос про не уменьшение базы задал т.к. не логично при чистке от мусора
не видеть уменьшение БД.
Странная у вас логика. Она, очевидно, не в курсе такой тонкости как страничная организация
файла БД.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713895
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovfedorov2012Вопрос про не уменьшение базы задал т.к. не логично при чистке от мусора
не видеть уменьшение БД.
Странная у вас логика. Она, очевидно, не в курсе такой тонкости как страничная организация
файла БД.

В курсе, но согласитесь почему бы в функционале сервера FB при сборке мусора не корректировать размер БД?
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713907
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012В курсе, но согласитесь почему бы в функционале сервера FB при сборке мусора не корректировать размер БД?
Зачем????

Чтобы через минуту заняться "расширением" базы для новых данных
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713910
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок, все это спорный вопрос, поэтому думаю не стоит развивать тему.

Всем спасибо, за ответ по сборке мусора. Кстати а можно ли как-то убедиться (например, средствами IBExpert) что мусор был удален после вызова select count(*)
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713914
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012,

собери статистику по нужной таблице и смотри total versions
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713922
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012Ок, все это спорный вопрос, поэтому думаю не стоит развивать тему.

Всем спасибо, за ответ по сборке мусора. Кстати а можно ли как-то убедиться (например, средствами IBExpert) что мусор был удален после вызова select count(*)
дался тебе этот мусор,соберется и что,счастье от этого будет?
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713939
fedorov2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gallemarдался тебе этот мусор,соберется и что,счастье от этого будет?
естественно будет, работа с БД быстрее станет
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713946
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012Gallemarдался тебе этот мусор,соберется и что,счастье от этого будет?
естественно будет, работа с БД быстрее станет
:) Да? Ты будешь караулить как он собирается?
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713959
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012Ок, все это спорный вопрос, поэтому думаю не стоит развивать тему.
это совсем не спорный вопрос, потому что ни одна многопользовательская СУБД не занимается "на ходу" уменьшением размера БД.
fedorov2012Кстати а можно ли как-то убедиться что мусор был удален после вызова select count(*)
gstat -r, ibanalyst
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713961
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС - таки слушайте меня ушами - вместо того чтобы морочится с уборкой мусора лучше мониторь статистику gstat -h. Есть офигительная утилита IBanalyst для расшифровки этой статистики.
Если у тебя застрянет транзакция, то никакой "мусоросбор" не пройдет.
Кстати,если у тебя дофига данных будет удалено,то следующий читающий данные из этой таблицы получит тормоза убирая мусор после удаления.
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713967
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvэто совсем не спорный вопрос, потому что ни одна многопользовательская СУБД не занимается "на ходу" уменьшением размера БД.


MS SQL уменьшает на ходу размер БД, но радости от этого большой я не видел.
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38713990
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fedorov2012естественно будет, работа с БД быстрее станет
Не станет. Эксперименты показали, что влияние количества версий записей на быстродействие
незначительно. Чтобы почувствовать это замедление, тебе пришлось бы совершить что-то
совершенно безумное вроде создания тысяч версий для одной записи.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38714222
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarkdvэто совсем не спорный вопрос, потому что ни одна многопользовательская СУБД не занимается "на ходу" уменьшением размера БД.


MS SQL уменьшает на ходу размер БД, но радости от этого большой я не видел.


Если таблицы положить в файлы, то это действо может быть разумно :)
В общем случае высвобождать куски из файла БД ( 1 файл 1 БД у fb ) задача совсем не тривиальная и к тому же порождает проблемы не только с бд но и с файловой системой ( добро пожаловать в общество любителей дефрагментаторов, которых для некоторых fs ( ext* ) вроде как нет ;) )
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38715681
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очевидный весчь скажу, но все-таки - возьми такой случай: база весом 5 гиг, удалена запись, физически хранившаяся в начале файла. Сколько времени займет "усечение" файла и как в это время будут себя чувствовать другие подключения?
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38715718
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fr0sT-Brutal,

Что такое "усечение файла", и какое отношение это имеет к Firebird?
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38715941
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSery,

да это fedorov2012 несколькими сообщениями выше считает, что вопрос необходимости и возможности уменьшения размера БД "спорный".
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38717519
StanislawK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildSeryЧто такое "усечение файла", и какое отношение это имеет к Firebird?

Я так понял, хочется наглядно увидеть что мусор убран. Размер файла БД как то связан с количеством записей в БД.

Например у меня сейчас есть такая проблема.

размер базы до изменений 8306 мегабайт.

Средствами IBExpert .

выбрал базу. нашел таблицу. (таблиц нуждающихся в чистке несколько, все и почистил)
нажал F9 - Show Data.
в открывшемся окошке
Table -> Empty Table.
Commit transaction.

размер базы прежний 8306 мегабайт.

сделал бэкап
размер базы прежний 5649 мегабайт.

восстановил из бэкапа.
размер базы прежний 7538 мегабайт.

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

мысль у меня такая - в базе лежат записи помеченные на удаление, но фактически не удаленные.

как от них избавиться?

p.s. Вот с таким вот чужим ПО приходится работать.
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38717537
StanislawKразмер базы до изменений 8306 мегабайт.

Средствами IBExpert .

выбрал базу. нашел таблицу. (таблиц нуждающихся в чистке несколько, все и почистил)
нажал F9 - Show Data.
в открывшемся окошке
Table -> Empty Table.
Commit transaction.

размер базы прежний 8306 мегабайт.

сделал бэкап
размер базы прежний 5649 мегабайт.

восстановил из бэкапа.
размер базы прежний 7538 мегабайт.Почему цифры разные, если размер - якобы "прежний" ?

авторхочется наглядно увидеть что мусор убранЕсли вам надо оценить, сколько мусора в базе, юзайте
Код: plaintext
gstat -r my_poor_database.fdb | grep "versions" | grep -v "versions: 0,"
(но при ресторе, ес-сно, его уже не будет)
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38717538
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StanislawK,

(гипотетически)
Регулярно хожу по грибы, для чего ношу рюкзак, а в нём несколько корзинок.
Вытряхнул грибы из одной корзинки. Вытряс мусор, даже пылесосиком прошёл.
Размер рюкзака не уменьшился.
Вытащил всё из рюкзака, сложил назад только корзинки с грибами.
Рюкзак уменьшился!
Через некоторое время добавил корзинку в рюкзак, поскольку в уже лежащие новые грибы не влезают.
Дома вытряхнул грибы из всех корзинок - рюкзак опять не уменьшился, кажется, что он полон грибов!
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38717539
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StanislawKоднако при добавлении записи в таблицу, запись создается как если бы я
эту таблицу не чистил.
Что ты под этим имеешь в виду и как именно это выяснил?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38717612
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StanislawKмысль у меня такая - в базе лежат записи помеченные на удаление, но фактически не удаленные.
мысль неправильная. Потому что ты никак не можешь прочитать
а) http://www.ibase.ru/devinfo/mga.htm - про версионность
б) http://www.ibase.ru/devinfo/gbak.htm - про бэкап

во втором документе есть текст
примечание : разумеется, при backup никакой "мусор" никогда не попадает в файл backup, ни при каких условиях. Если это не очевидно, то прочитайте еще раз, что делает утилита gbak при backup . Если и там вы не увидели объяснения, то это значит, что вы не понимаете как сервер работает с транзакциями .
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38717614
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StanislawKразмер базы прежний 8306 мегабайт.
так и должно быть

StanislawKсделал бэкап размер базы прежний 5649 мегабайт.
тут ты привел скорее размер бэкапа. Бэкап (процесс) не приводит к уменьшению размера БД. Размер бэкапа обычно меньше, чем размер БД, т.к. бэкап - "потоковый" файл, в отличие от страничного файла БД.

StanislawKвосстановил из бэкапа. размер базы прежний 7538 мегабайт.
ну какой же он прежний. Почти 800мб от 8.3 гиг убралось.

Кроме того, ты не умеешь ставить эксперимент. Надо было так:
1. бэкап, рестор, замеряем размер БД после рестора.
2. удаляем данные из таблиц.
3. бэкап, рестор, замеряем размер БД после рестора, сравниваем с пунктом 1.
...
Рейтинг: 0 / 0
Накапливается мусор select count(*) не помогает
    #38717659
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StanislawK Размер файла БД как то связан с количеством записей в БД.Да, есть связь, и она такая:
Размер файла БД равен размеру файла БД с заданньм количеством записей, без свободного места + свободное место.
Размер свободного места может бьть разньм. Иногда больше, иногда меньше.

StanislawKНапример у меня сейчас есть такая проблема. При сегодняшних размерах дисков, размер БД не проблема.

StanislawKказалось бы хорошо, однако при добавлении записи в таблицу, запись создается как если бы я эту таблицу не чистил.При добавлении записи в таблицу, создается запись в таблице, как ни странно.



StanislawKмысль у меня такая - в базе лежат записи помеченные на удаление, но фактически не удаленные.Фактически, прочитать их вы не можете, так что фактически их там нет.


StanislawKp.s. Вот с таким вот чужим ПО приходится работать.Можно почитать информацию про это ПО, будет легче.
...
Рейтинг: 0 / 0
25 сообщений из 111, страница 2 из 5
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Накапливается мусор select count(*) не помогает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]