Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 долго удаляются большие БЛОБы на MS SQL Server 2005  [new]
удалятельблобов
Guest
здравствуйте! есть у меня бд на sql servere 2005, в ней хранятся документы таким образом: в одной таблице параметры документа, в другой - собственно сами блобы. связь 1 ко многим, но в реальности там только один блоб для одной записи из первой таблицы. если в бд залить большие блобы, например, несколько фильмов, то удаление блобов (DELETE FROM) занимает какое-то неприличное время (от минуты и более для нескольких блобов в 3-4 ГБ). автошринк отключен. да, кстати, у связи выставлена опция каскадного удаления, но ее отключение не помогает. не ругайтесь на хранение больших блобов в бд, ситуация больше гипотетическая, реальные документы совсем небольшие. :) все дело в том, что на 2000-ом сервере это работает очень быстро (сам пока это не проверял)
9 июн 09, 15:54    [7281710]     Ответить | Цитировать Сообщить модератору
 Re: долго удаляются большие БЛОБы на MS SQL Server 2005  [new]
x-x
Member

Откуда:
Сообщений: 230
удалятельблобов
здравствуйте! есть у меня бд на sql servere 2005, в ней хранятся документы таким образом: в одной таблице параметры документа, в другой - собственно сами блобы. связь 1 ко многим, но в реальности там только один блоб для одной записи из первой таблицы. если в бд залить большие блобы, например, несколько фильмов, то удаление блобов (DELETE FROM) занимает какое-то неприличное время (от минуты и более для нескольких блобов в 3-4 ГБ). автошринк отключен. да, кстати, у связи выставлена опция каскадного удаления, но ее отключение не помогает. не ругайтесь на хранение больших блобов в бд, ситуация больше гипотетическая, реальные документы совсем небольшие. :) все дело в том, что на 2000-ом сервере это работает очень быстро (сам пока это не проверял)

Сможете привести запрос на удаление?
А ещё структуру таблиц.

А запрос вида
delete from [та таблица, где только БЛОБы] where [первичный ключ] = @id тоже выполняется по несколько минут?
9 июн 09, 16:42    [7282025]     Ответить | Цитировать Сообщить модератору
 Re: долго удаляются большие БЛОБы на MS SQL Server 2005  [new]
удалятельблобов
Guest
убрал связь с таблицей атрибутов, удаление стало происходить еще дольше. :( сейчас структура такова:
в таблице два поля: DOCID INT, DOCBLOB IMAGE, DOCID - первичный ключ

запрос: DELETE FROM <имя_таблицы>

DELETE FROM <имя_таблицы> WHERE DOCID = <значение_ключа> выполняется также долго

подозреваю, происходит это из-за лога транзакций. т.е. перед удалением запись копируется в этот лог. так ли это? и что можно с этим поделать?
10 июн 09, 08:52    [7283864]     Ответить | Цитировать Сообщить модератору
 Re: долго удаляются большие БЛОБы на MS SQL Server 2005  [new]
kampuz
Member

Откуда: Красноярск
Сообщений: 96
а у меня каждую ночь происходит копирование данных в текстовые файлы и последующее удаление массы строк из пачки таблиц. выяснил чисто процесс удаления происходит 3.5 часов каждую ночь. запросы удаления обычные delete from TableX where id=@id , где id есть в каждой таблице в виде некластерного индекса иногда состовного на первом месте.

дайте общих советов как можно ускорить процесс удаления.

Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) Feb 9 2007 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
14 июл 09, 07:16    [7411413]     Ответить | Цитировать Сообщить модератору
 Re: долго удаляются большие БЛОБы на MS SQL Server 2005  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36824
truncate table + секционирование в общем-то рулят. Но тут много зависит от того, по какому принципу записи удаляются.

удалятельблобов
DELETE FROM <имя_таблицы> WHERE DOCID = <значение_ключа> выполняется также долго
Ну, план покажите, может у вас там еще 50 таблиц с каскадами да без индексов по FK.

Сообщение было отредактировано: 14 июл 09, 11:43
14 июл 09, 11:43    [7412404]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить