Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Как уменьшить базу данных?

Ответить
Настройки темы
MSFT SQL Server - Как уменьшить базу данных?

Аватара для Avatar-Lion

Безработный


Contributor


Сообщения: 5003
Благодарности: 983


Конфигурация

Профиль | Отправить PM | Цитировать


Имеется файл dd_Current_Data.MDF объёмом в ~500Мбайт, который создавался силами программы "Доктор Ден", которая по сути своей является банальной картотекой для стоматологической клиники (ФИО пациента, его контакты, проведенные работы и т.д.). Где-то последние полгода программа стала долго запускаться - exe'шник программы грузит процессор минут по 10, а также лопает RAM. Я так подозреваю, все дело в излишне большой базе данных. Погуглил. Пишут про команду DBCC SHRINKFILE, но непонятно где ее надо вводить. В трее висит значок SQL-сервера, его можно остановить \ запустить заново, но не более того. Возможно, надо что-то доустановить? Но что именно? До этого никогда дела с базами данных не имел, поэтому без понятия как оно все должно выглядеть.

Краткий конфиг компа: Celeron G540, 2Gb DDR3, SSD 60Gb.

Отправлено: 17:25, 07-02-2018

 

Аватара для Avatar-Lion

Безработный


Contributor


Сообщения: 5003
Благодарности: 983

Профиль | Отправить PM | Цитировать


Цитата y--:
шринк 2 раза подряд через интерфейс »
Сделал. Теперь 516Мб весит (было 567).

Цитата y--:
тогда уж не переиндексацию надо делать, а дефрагментацию индексов»
Сделал. Размер тем же остался. Так и должно быть?

Отправлено: 20:30, 08-02-2018 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Avatar-Lion,
после переиндексации опять шринк - только чуть по-другому:
- шринк базы
- шринк файла данных

И вот меньше чем после этого уже никак без потери части данных...

-------
Ты это - заходи если что...

Это сообщение посчитали полезным следующие участники:

Отправлено: 20:33, 08-02-2018 | #22


Аватара для Avatar-Lion

Безработный


Contributor


Сообщения: 5003
Благодарности: 983

Профиль | Отправить PM | Цитировать


Цитата ziku:
Алгоритм работы "Доктор Ден" не позволит вам что ли бо изменить »
Почему? Я думал, SQL-база универсальна и любое ПО может с ней работать. И обслуживается база силами SQL-сервера, а ПО только взаимодействует с ней. Только я не понимаю почему для простого текста такие чудовищные объёмы базы получаются...

Цитата ziku:
Похожая программа мне встречалась Dental Clinic Manager, почитай о ней может ваша фирма перейдет не неё »
Почитал. Сделано в Украине... Ничего не имею против Украины, но очевидно, что если в стране идет гражданская война, то в любой момент фирма, которая сделала это ПО, может испариться. Вон, Доктор Ден сделан некоей конторой ArtIcon. Наша компания вроде как. Ну или дилер... Когда позвонил им в тех.поддержку, там девочка на телефоне аж икнула от удивления. Потом сказала, что Доктор Ден давно уже снят с продаж и с поддержки (лет пять уже вроде как), поэтому помочь нам с данной проблемой они не могут.

Надо понять, что я не работаю в данной клинике, просто являюсь ее клиентом + ее сотрудники знают, что я занимаюсь компьютерами и время от времени обращаются ко мне со всякой мелочью (Винду переставить, комп собрать и т.п.). Ну и вот недавно обратились с проблемой, что очень долго запускается прога. Плюс в течение дня она лопает все больше и больше памяти, т.к. (по рассказам сотрудников) к концу дня комп начинает жутко тупить. Попросили меня посмотреть. Я посмотрел. Честно сказал: базы данных раньше только на картинках в интернете видел, не мой род деятельности это. Предложил поискать альтернативу. Нашли: 33 000 рублей за 1 копию программы (какой-то "1С Первый Бит" или вроде того), плюс от 50 000 до 150 000 рублей за перенос базы данных и 1 год поддержки. К ним приехал даже мальчик-представитель, начал дуть в уши... Слава богу, позвонили мне. Я когда цены услышал, сам чуть не икнул. Понятно, что медицина дешевой не бывает, но, чёрт подери, платить сто тысяч за программу, которая по сути разновидностью Excel-таблички является... Сказал им мальчика отпустить, за информацию поблагодарить и усиленно искать альтернативы. А я пока попробую с базой помочь. Но судя по вашим словам, Доктор Ден этот конкретную свинью им подложил. Точнее, не Доктор Ден, а ArtIcon.

y--, Сделал. Итого 467Мб получилось.

Но я считаю, что это всё равно Over-дохрена. Как можно ТЕКСТ раздуть до 467 метров? Я видел Excel-прайсы на десятки тысяч позиций и они весили куда меньше, а открывались куда быстрее. Что за хрень с этим SQL? Он что, по 100500 раз дублирует каждую строчку? Я ради прикола попробовал упаковать dd_Current_Data в RAR-архив. Получился архив со смешным объёмом в 12 (двенадцать!) мегабайт. Такой впечатляющий коэффициент сжатия только у текста может быть, я уже сжимал ранее таблицы и документы, они тоже очень хорошо сжимались. Можно как-то определить что такой объем занимает в базе?

Последний раз редактировалось Avatar-Lion, 08-02-2018 в 20:54.


Отправлено: 20:42, 08-02-2018 | #23


Аватара для ziku

Старожил


Сообщения: 440
Благодарности: 39

Профиль | Отправить PM | Цитировать


Цитата Avatar-Lion:
в любой момент фирма, которая сделала это ПО, может испариться »
Есть очень много программ: 2V:Стоматология, IDENT, Dental4Windows, Dental Cloud, ClinicIQ, ДЕНТ и другие. Но как понимаешь они все платные. Сколько и что в них я не знаю.
Насчет фирмы тут вы правы, с не братьями лучше не связываться. Дороже будет.
А насчет вашей программы мы не знаем на каком движке он сделан и алгаритм работы тупой - открыть всю базу сразу. Тут ответ таков они начали тестиовать свою программу и получили в текстовом файле размер в три раза больший, тогда применили архивацию и сжатие в MDF, меньше размер, НО, болезнь та же - программа не будет работать пока весь файл не войдет в ОЗУ. И ничего тут не сделаешь.

-------
Опыт - это учитель, который очень дорого берет за свои уроки.Лучше один раз взяться за ум, чем потом всю жизнь хвататься за голову.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:18, 08-02-2018 | #24

y-- y-- вне форума

Старожил


Сообщения: 231
Благодарности: 62

Профиль | Отправить PM | Цитировать


Avatar-Lion,
Цитата Avatar-Lion:
Можно как-то определить что такой объем занимает в базе? »
Можно конечно разбивку по таблицам(количество занимаемых страниц данных на таблицу после умножения на 4К даст реальный размер) сделать, но смысла в этом нет. Навскидку можно предположить две вещи: использование CHAR вместо VARCHAR и наличие чего-то типа кладров(адресных данных притом скорей всего по всей РФ) в базе - ни с тем ни с другим бороться не удастся - первое зависимо от реализации самой программы, а второе скорей всего необходимо...

-------
Ты это - заходи если что...

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:42, 08-02-2018 | #25


Аватара для Avatar-Lion

Безработный


Contributor


Сообщения: 5003
Благодарности: 983

Профиль | Отправить PM | Цитировать


Эхе-хе... Как же грустно всё... Ладно. Спасибо вам, товарищи. Информацией и советами поделились, а это главное.

Думаю, тему можно закрывать. Судя по всему, проблема тупиковая и решения не имеет.

Отправлено: 22:03, 08-02-2018 | #26


Ветеран


Сообщения: 3806
Благодарности: 824

Профиль | Отправить PM | Цитировать


Цитата Avatar-Lion:
олько я не понимаю почему для простого текста такие чудовищные объёмы базы получаются... »
Наверняка, как заметил y--, не обошлось без сопутствующих справочников. И БД - это не всё-таки не просто тупое хранилище - индексы зачастую занимают места даже больше чем сами данные; есть некоторые внутренние данные - статистика, например; данные скорее разряжены, чем упакованы.

Отправлено: 09:57, 09-02-2018 | #27



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - Как уменьшить базу данных?

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - Как изменить базу данных Access при изменении данных в таблице на форме tumanovalex Программирование и базы данных 2 15-04-2016 16:40
MSFT SQL Server - Как создать базу данных SQL Server Compact? Alsou93 Программирование и базы данных 0 23-12-2013 22:32
Разное - Как правильно построить базу данных? Aleksandr84 Microsoft Office (Word, Excel, Outlook и т.д.) 3 08-07-2013 18:43
C/C++ - Как записать DBGrid в базу данных MS Acess? S1stem Программирование и базы данных 1 25-01-2008 13:10
Как защитить базу данных на серваке? BatutMAN Защита компьютерных систем 15 17-01-2003 13:11




 
Переход