|
v7: индексы sql, где хранить? | ☑ | ||
---|---|---|---|---|
0
Skom
01.04.15
✎
07:14
|
1с77. на таблице проводок создано 4 дополнительных индекса (индексы не штатные 1с), которые ускоряют работу запросов, через который наш сайт получает оперативные данные из базы.
Есть ли смысл для этих индексов (база 50 гигов, мои индексы занимают 5 гигов) создать отдельную файловую группу и запихать их в нее? |
|||
1
ДенисЧ
01.04.15
✎
07:15
|
ПОэкспериментируй.
Шанс есть. Я добивался эффекта. |
|||
2
Skom
01.04.15
✎
11:46
|
может кто знает подробности?
|
|||
3
Ёпрст
01.04.15
✎
11:52
|
в оперативной памяти слепи раздел и храни там - будет быстрее
|
|||
4
Skom
01.04.15
✎
11:55
|
у меня цель не эти индексы ускорить, к ним редкое обращение.
|
|||
5
Skom
01.04.15
✎
11:56
|
просто ковырялся сегодня и подумал отсадить их от основного файла. разгрузить это саму базу или нет. вот в чем вопрос
|
|||
6
Skom
01.04.15
✎
11:56
|
*разгрузит
|
|||
7
Ёпрст
01.04.15
✎
11:57
|
(5) нет
|
|||
8
МихаилМ
01.04.15
✎
12:14
|
(0)
учтите при реструктуризации 1с77 пресоздает таблицы и Выши индексы снова окажутся в primary . |
|||
9
Skom
01.04.15
✎
12:22
|
это если я при их создании не укажу, что они живут в другой файловой группе.
|
|||
10
Skom
01.04.15
✎
12:23
|
индексы у меня создаются при старте 1с (если их надо создавть или пересоздавать), можно при их создании сразу и указать, где они будут жить.
|
|||
11
ДенисЧ
01.04.15
✎
19:34
|
(10) Делись тайнами, как ты это сделал в 77?
|
|||
12
Рэйв
01.04.15
✎
19:37
|
(11)Я бы тоже послушал:-)
|
|||
13
Рэйв
01.04.15
✎
19:39
|
(10)Код в студию, молодой человек.
|
|||
14
Рэйв
01.04.15
✎
19:41
|
Чет помоему врет..
|
|||
15
Провинциальный 1сник
01.04.15
✎
19:43
|
(11) Прямыми запросами, наверное. Я так себе представляю - при начале работы системы производится запрос к sysobjects, если индекса нет - то он создается инструкцией create index.
|
|||
16
ДенисЧ
01.04.15
✎
19:50
|
(15) А если есть, ибо его уже создала 1с?
Но идею я понял... Но спасибо... Я видел базу, в которой индексы с нуля создавались 4 часа... На каждый чих не пересоздаёшься. |
|||
17
Попытка1С
01.04.15
✎
19:54
|
Кинь индексы на ssd
|
|||
18
Попытка1С
01.04.15
✎
19:57
|
(11) Какие тайны, все делается через файлик 1cv7.ddx. или я не о том думаю?
|
|||
19
ДенисЧ
01.04.15
✎
20:01
|
(18) Какой-какой файлик?
А раскрой-ка тему ddx (????) и задания в нём разделов хранения индексов... |
|||
20
Провинциальный 1сник
01.04.15
✎
20:02
|
(16) Ну очевидно, что индекс нужно именовать так, чтобы он не совпал с платформенными. Вот только наверняка при запуске 1с будет ругаться на несоответствие структуры индексов. И это отключить уже не совсем тривиально.
|
|||
21
Попытка1С
01.04.15
✎
20:05
|
(19) Плагин для добавления дополнительных индексов в 1ску. Описания доп индексов хранятся в файлике 1cv7.ddx.
|
|||
22
ДенисЧ
01.04.15
✎
20:06
|
(21) Хм. Тебе осталось только ссылку привести...
|
|||
23
Попытка1С
01.04.15
✎
20:07
|
||||
24
ДенисЧ
01.04.15
✎
20:12
|
(23) Забавно.
Но... См (16)... Пересоздавать индексы на каждый чих... |
|||
25
Попытка1С
01.04.15
✎
20:14
|
(24) Что ты имеешь ввиду под "каждый чих"?
|
|||
26
ДенисЧ
01.04.15
✎
20:17
|
(25) Под каждую попытку реструктуризации
|
|||
27
Попытка1С
01.04.15
✎
20:18
|
(26) Дык один фиг сама 1ска свои индексы тоже пересоздает.
|
|||
28
ДенисЧ
01.04.15
✎
20:22
|
(27) Судя по скрипту - оно сносит все добавочные. А 1с трогает только своё. Если я для валют добавил индекс по курсу, то в штатном режиме - это 2 секунды. А если у меня там был кастомный индекс по партиям за 10 лет? )
|
|||
29
Попытка1С
01.04.15
✎
20:29
|
(28) В больших база и штатная переиндексация не кисло может занимать. Но вообщем механизм существует.
|
|||
30
Skom
02.04.15
✎
05:07
|
Все уже рассказали.))
|
|||
31
Skom
02.04.15
✎
05:14
|
У меня индекс пересоздается только в том случае, если была реструктуризация базы.
В константах хранится дата и время изменения файла 1cv7.dds при старте системы, если реквизиты поменялись, то выполняются необходимые действия. |
|||
32
Skom
02.04.15
✎
05:18
|
(28) скрипт перед реструктуризацией удаляет добавочные, а после реструктуризации снова их возвращает, а дальше, 1с сама их создает.
Ну, например, у меня скуль вот такой индекс ТекстИндексы = " |CREATE NONCLUSTERED INDEX [cv77_FORSITE2] |ON [dbo].[_1SENTRY] ([ACCDTID],[DTSC1],[DOCLINENO]) |INCLUDE ([DATE_TIME_DOCID],[SUM_],[AMOUNT],[SP663],[SP9680],[DTSC2],[DTSC3],[KTSC2],[KTSC4]) |"; на таблицу проводок размером в 9 гигов индекс создает примерно за 1 минуту. для меня приемлемое время. |
|||
33
Skom
02.04.15
✎
05:22
|
кстати, через ddx я не нашел как создать индекс с аргументом INCLUDE
поэтому в ddx я прописал создание добавочного индекса. а при первом старте 1с после реструктуризации этот индекс удаляется и создается с нужными мне аргументами. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |