Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как правильней перестроить индексы?  [new]
Labutin
Member

Откуда: Нижний Новгород
Сообщений: 60
В другом топике мне объяснили, что при truncate table индексы сохранаются.
Я делал уже раза три truncate таблицы с 20 миллионами записей. Видимо индексов теперь там тьма!!!
Как бы их мне перестроить так, чтобы 1С не заметила этого? Просто если взять и добавить свой индекс, то 1С замечает и ругается. Так же ругается на изменение имени индексов.
В общем их нужно ТОЛЬКО перестроить...
И еще - записей сейчас около 4 миллионов. Как бы перестроить индексы, чтобы это сработало побыстрее?
27 янв 05, 09:57    [1277149]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Чего ж проще - грохнуть индекс, создать новый с тем же именем?
27 янв 05, 09:59    [1277158]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
DBCC DBREINDEX
27 янв 05, 10:01    [1277165]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
Labutin
Member

Откуда: Нижний Новгород
Сообщений: 60
а нельзя без указания имени и т.п.?
нет команды ПЕРЕСТРОИТЬ все индексы таблицы?
просто боюсь не повторить мне причудливые требованя 1С к индексам :(
27 янв 05, 10:02    [1277168]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
Glory
Member

Откуда:
Сообщений: 104760
В другом топике мне объяснили, что при truncate table индексы сохранаются
Чего чего ???
27 янв 05, 10:02    [1277169]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
Labutin
Member

Откуда: Нижний Новгород
Сообщений: 60
Glory
В другом топике мне объяснили, что при truncate table индексы сохранаются
Чего чего ???

Вот тут:
https://www.sql.ru/forum/actualthread.aspx?tid=155136
врут?
27 янв 05, 10:03    [1277175]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Индексы сохраняются как объекты бд.
27 янв 05, 10:08    [1277189]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Labutin
Glory
В другом топике мне объяснили, что при truncate table индексы сохранаются
Чего чего ???

Вот тут:
https://www.sql.ru/forum/actualthread.aspx?tid=155136
врут?

Индекс как объект и содержимое индекса - это две разные вещи
use tempdb
go
if object_id('tt') is not null drop table tt
go
select * into tt from pubs..authors
go
create UNIQUE NONCLUSTERED index i1 on tt(au_id)
go
exec sp_spaceused 'tt'
go
truncate table tt
go
exec sp_spaceused 'tt'
go
if object_id('tt') is not null drop table tt
go
После TRUNCATE все содержимое таблицы и идексов удаляется.
Сама таблица и индексы как объекты остаются. И удалить их можно только командой DROP
27 янв 05, 10:16    [1277221]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
keshas
Member

Откуда: Санкт-Петербург
Сообщений: 14
Вероятно все-таки речь идет не об индексах, а о статистике. Сделайте UPDATE STATISTICS.
27 янв 05, 10:27    [1277268]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
Labutin
Member

Откуда: Нижний Новгород
Сообщений: 60
keshas
Вероятно все-таки речь идет не об индексах, а о статистике. Сделайте UPDATE STATISTICS.

Как долго эта команда будет выполняться на таблице из 4 миллионов записей при учете, что раньше в этой таблице бывало по 20 миллионов и удалялись они путем truncate?
И вообще - что нужно сделать после truncate, чтобы ОСВОБОДИТЬ ВСЕ, что занимала таблица? Т.е. привести к состоянию после create table.
27 янв 05, 10:57    [1277421]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
Никогда не помешает периодически:

DBCC DBREINDEX для каждой таблицы
и
exec sp_updatestats
27 янв 05, 11:22    [1277576]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Labutin

И вообще - что нужно сделать после truncate, чтобы ОСВОБОДИТЬ ВСЕ, что занимала таблица? Т.е. привести к состоянию после create table.

truncate и так ОСВОБОЖДАЕТ ВСЕ
27 янв 05, 11:24    [1277583]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
Copyright
Member

Откуда: Volgograd=>Moscow=>Volgograd
Сообщений: 1049
Labutin
keshas
Вероятно все-таки речь идет не об индексах, а о статистике. Сделайте UPDATE STATISTICS.

Как долго эта команда будет выполняться на таблице из 4 миллионов записей при учете, что раньше в этой таблице бывало по 20 миллионов и удалялись они путем truncate?
И вообще - что нужно сделать после truncate, чтобы ОСВОБОДИТЬ ВСЕ, что занимала таблица? Т.е. привести к состоянию после create table.


Как долго - зависит от мощ-ей сервера и структуры данных+зависимость от обьема данных тоже есть

В основном зависит от мощ-eй

К состоянию после create table можно привести только после удаления таблицы с данными полностью и создания ее вновь
28 янв 05, 10:23    [1280968]     Ответить | Цитировать Сообщить модератору
 Re: Как правильней перестроить индексы?  [new]
BugsBunny
Member

Откуда: GMT+5=EST
Сообщений: 2414
В свою защиту
Вы вообще-то жаловались на индексы в этом контексте:
автор
...таблицы с 20 миллионами записей ...Теперь добавление в нее идет в два раза медленней чем раньше.
...

так что рекомендация "дропнуть индексы-залить 20М записей-востановить индексы" была естественной

автор

а нельзя без указания имени и т.п.?
нет команды ПЕРЕСТРОИТЬ все индексы таблицы?
просто боюсь не повторить мне причудливые требованя 1С к индексам :(

А заскриптовать индексы слабо?
Хотя честно, из того что я прочитал об 1С на сиквеле (личный опыт был 5 лет назад не на сиквеле) это очень нерекомендуемые действия работать с таблицами напрямую
29 янв 05, 08:12    [1284365]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить