Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 3 вперед Ctrl→ все |
Papadopulos Member Откуда: Сообщений: 211 |
Добрый день. Раздумываю над вариантами хранения файлов 1) в отдельной таблице 2) в одной вместе с остальной атрибутивной информацией. Примерно так CREATE TABLE [dbo].ayEDSStore( [IdDoc] [int] NOT NULL, -- идентификатор документа [IdFile] [int] NOT NULL, -- идентификатор файла [Name] [varchar](255) NOT NULL, -- наименование файла [DateSign] [datetime] NOT NULL DEFAULT (getdate()), -- когда добавлена ЭЦП [UserName] [varchar](255) NOT NULL, -- кто создал, учётка [Signature] varbinary(max) NULL, -- отсоединённая ЭЦП [Role] [varchar](100) NULL, -- характер работы (роль) подписавшего [Activity] tinyint NULL -- 0 - подпись неактивна, 1- активна ) ON [PRIMARY] Ненужные файлы будут удаляться, но атрибутивная информация должна остаться. Какой вариант лучше с точки зрения оптимизации дискового пространства? |
9 дек 15, 09:16 [18533383] Ответить | Цитировать Сообщить модератору |
Knyazev Alexey Member Откуда: Екб -> Мск Сообщений: 10234 Блог |
Вариантов куча, зависит от бизнес-требований и размеров файлов. Можно использовать еще файлстрим и файлтейбл |
9 дек 15, 09:40 [18533468] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
зануление какого-либо поля записи не делает занятое этим полем место доступным для других объектов. И даже удаление всей записи не делает занятое этой записью место доступным для других объектов. |
||
9 дек 15, 10:19 [18533684] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Knyazev Alexey, Мне было бы достаточно уверенности в том, что если в единой заполненной таблице я в бинарное поле для файла запишу NULL, место в базе освободится. Тогда я на втором варианте остановлюсь для простоты |
9 дек 15, 10:22 [18533701] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Glory, А после того как будет проведена оптимизация базы, будет ли разница в этих двух вариантах? |
||||
9 дек 15, 10:24 [18533717] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Что будет проведено ? |
||
9 дек 15, 10:25 [18533723] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Glory, Я имел в виду сжатие. |
9 дек 15, 10:30 [18533748] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Сжатие никогда не проводит дефрагментацию внутри объектов |
||
9 дек 15, 10:32 [18533758] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Glory, Благодарю! Этого достаточно |
9 дек 15, 10:33 [18533763] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Вы меня ввели в заблуждение. Удаление строк из таблиц, равно как и зануление бинарных полей после сжатия освобождает дисковое пространство. Удаление строк даёт лучший эффект. |
||||
28 янв 16, 11:17 [18739207] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Да вы що ! И как же сжатие это делает ? Не поделитесь секретом ? |
||
28 янв 16, 12:13 [18739538] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Glory, откуда мне знать, как сжатие это делает. Из нас двоих специалист не я. Объем файлов до сжатия - 3085 Мб. после удаления строк и сжатия - 747 Мб. ms sql server 2008 R2. |
28 янв 16, 12:48 [18739729] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Ну раз не знаете, то и помалкивайте о том, кто кого вводит в заблуждение.
И что ? |
||||
28 янв 16, 12:50 [18739745] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Glory, а то, что если сжать без удаления строк, размер базы уменьшается до 2752 Мб. |
28 янв 16, 13:15 [18739936] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
Вы хоть знаете, что за команды выполняются при ваших "удаляю строки" и "сжимаю" ? Или вы считаете, что можно сморозить фигню и затем заставлять других доказывать, что это фигня ? |
||
28 янв 16, 13:19 [18739961] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Glory, при удалении delete, при сжатии, полагаю, shrinkdatabase, а что это меняет? В чём фигня с моей стороны? |
28 янв 16, 13:42 [18740151] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
В том, что не знаете, как работают эти команды, но считаете себя в праве делать заявления о том, что происходит. Потому что "но ведь размер то уменьшился" |
||
28 янв 16, 13:47 [18740186] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Glory,
Вы для меня очень великий специалист, так что диалог у нас не клеится. Всего доброго |
||
28 янв 16, 14:05 [18740288] Ответить | Цитировать Сообщить модератору |
Владислав Колосов Member Откуда: Сообщений: 8300 |
Papadopulos, смотрите справку по DBCC SHRINKDATABASE. |
28 янв 16, 14:14 [18740361] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
Владислав Колосов, Читаю
ЧТД |
||
28 янв 16, 14:26 [18740471] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
А команда DELETE - это усечение таблицы или удаление таблицы ? ЗЫ Видеть глазами не означает понимать суть происходящего А у вас как в том анекдоте - таракан без ног ничего не слышит |
||||
28 янв 16, 14:29 [18740494] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
и вы делали truncate table или может быть drop table? вы же из кучи удаляли.
DELETE (Transact-SQL) |
||||||
28 янв 16, 14:35 [18740534] Ответить | Цитировать Сообщить модератору |
Papadopulos Member Откуда: Сообщений: 211 |
В данном случае delete это
|
||||||
28 янв 16, 14:39 [18740567] Ответить | Цитировать Сообщить модератору |
o-o
Guest |
до меня дошло, что есть ЧТД. Читаю Только Донцову. постом выше ссылка на БОЛ, DELETE -- это то, что там описано. и поведение у него такое, к-ое там же описано. но это не вам, читающему лишь избранное. это остальным, кто на тему напорется |
||||||
28 янв 16, 14:42 [18740588] Ответить | Цитировать Сообщить модератору |
Glory Member Откуда: Сообщений: 104760 |
В данном случае вы балабол. Вставший в позу. |
||||
28 янв 16, 14:42 [18740590] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 3 вперед Ctrl→ все |
Все форумы / Microsoft SQL Server | ![]() |