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

Вниз

Упаковка таблиц Interbase   Найти похожие ветки 

 
AlexPul   (2003-09-19 17:21) [0]

Возникала ли у кого-то проблема со значительным увеличением размера файла базы после интенсивной работы с ней, хотя данных в ней не так-то уж и много. Как с этой проблемой бороться? (способы, алгоритмы, ссылки и инете)


 
stud   (2003-09-19 17:22) [1]

bukup / restore


 
Val   (2003-09-19 17:44) [2]

а ссылочка все та же... :)


 
AlexPul   (2003-09-19 17:47) [3]

>stud
bukup / restore не сжимает а создает backup базы


 
Val   (2003-09-19 17:51) [4]

>AlexPul (19.09.03 17:47) [3]
сначала читаем литературу, потом спорим.


 
kaif   (2003-09-19 19:15) [5]

Кстати, то, что база быстро растет, не есть ненормально.
Нужно так разрабатывать базу, чтобы быстро не росла. Я добивался уменьшения этого эффекта, тщательно изучая, что я делаю, и экспериментируя с транзакциями, особенно при массовых update-ах. Например, после такого update-а я делаю select count(*) в отдельной транзакции.
На сегодня база после 3-х месяцев работы без backup/restore имеет размер 14 Mb. Если сделать backup/restore ее размер сокращается до 12 Mb. Таким образом, "излишек" составляет не более 20%. В сети с базой работают 3-5 юзеров и каждый день в нее вносятся какие-то данные плюс перепроводятся какие-то документы в таблице проводок.
Если база быстро росла на стадии разработки, это еще ничего (возможно, приходилось делать массовые перекачки данных и т.п.) Однако потом следует сделать backup/restore и смотреть ее в реальной работе (у юзеров). Если база быстро растет - нужно понять, почему.


 
Sergey_Masloff   (2003-09-19 19:28) [6]

kaif © (19.09.03 19:15) [5]
Все что ты говоришь верно, но зачем эта экономия? При современных HDD что 12 Мб что 120 что 1200 - одна фигня. Скажу более - селект каунт в отдельной транзакции при базе размером побольше выльется в серьезные тормоза. Поэтому на больших базах иногда имеет смысл отказаться вообще от автоматической сборки мусора а мусор убирать только плановыми бакуп-ресторами. На базе в 12 Мб (я не говорю что это мало, может задача такая) ты просто не замечаешь тормозов хотя и выигрыш в месте невелик.


 
kaif   (2003-09-19 19:40) [7]

Sergey_Masloff (19.09.03 19:28) [6]
Все что ты говоришь верно, но зачем эта экономия?

Я замечал, что при увеличении файла (именно файла !) базы падает скорость SQL-запросов. Поэтому если база может занимать 10 Mb, а занимает 60, то все работает медленнее. И если скорость select-ов критична, а скорость update-ов - нет, то имеет смысл следить за этими вещами.
Я не спорю, что при больших базах возможна иная политика.
Однако, что касается select count(*), то все равно эта задержка произойдет у любого другого пользователя который после массового update-а попробует сделать свой select. Мне кажется, что лучше, если "нагрузка" ляжет на того, кто предпринял больщой update, чем на того, кто решил взглянуть на простой отчет. Так как последний может решить, что программа зависла и удалить ее из списка задач. А это неверное решение.
Автор ветки говорит о "значительном" увеличении размера
хотя данных в ней не так-то уж и много
поэтому я и решил высказаться в таком ключе.
Дело в том, что при первых экспериментах с массовыми update-ами, я действительно получал прирост в 5-10 Mb после каждого такого update-а. И я скажу, что скорость SQL-запросов четко зависит от размера базы. По крайней мере при десятках тысяч записей в таблицах она падала чуть ли не пропорционально размеру. На миллионах я не смотрел, не знаю.


 
WihOut Any ...   (2003-09-19 20:15) [8]

оратись к sniknik, он мне часто помогал


 
Sergey_Masloff   (2003-09-19 20:18) [9]

>И я скажу, что скорость SQL-запросов четко зависит от размера >базы. По крайней мере при десятках тысяч записей в таблицах она >падала чуть ли не пропорционально размеру.
Не должно влиять. По крайней мере сколько-нибудь заметным образом. Надо смотреть планы запросов и реальную производительность, может индексы перестроить но не должно так тормозить с ростом файла.
Впрочем на базе у которой при размере 10 Мб после массового update росто почти на 50% я бы работал так же как ты.



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

Форум: "Базы";
Текущий архив: 2003.10.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.01 c
3-27391
vchris
2003-09-18 14:41
2003.10.09
доступ к DBASE таблицам


1-27455
romeo
2003-09-27 18:31
2003.10.09
Копирование и вставка компонента... Как?


14-27744
GRAND
2003-09-19 13:02
2003.10.09
Лига Чемпионов


4-27788
Виктор
2003-08-04 21:08
2003.10.09
Как получить хэндел едита чужого окна?


1-27603
Павел
2003-09-28 20:25
2003.10.09
Почему?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский