|
Регистр накопления включение индексировать по всем измерениям | ☑ | ||
---|---|---|---|---|
0
Coldboy
29.12.13
✎
17:06
|
Здравствуйте. По умолчанию в конфе для регистра накопления не стоит значение для измерений индексировать, а если их включить, ведь в клиент-серверном быстродействие увеличится, почему изначально такое не включают?
|
|||
1
ДенисЧ
29.12.13
✎
17:14
|
потому что не увеличтся.
|
|||
2
Coldboy
29.12.13
✎
17:19
|
(1) с чего это? http://www.gilev.ru/index/
|
|||
3
Нууф-Нууф
29.12.13
✎
17:20
|
все относительно
|
|||
4
marvak
29.12.13
✎
17:24
|
(0)
Для каких именно регистров накопления и для каких измерений не стоит индексирование? |
|||
5
ДенисЧ
29.12.13
✎
17:26
|
(2) а на создание и обновление этих индексов?
|
|||
6
Нууф-Нууф
29.12.13
✎
17:27
|
не стоит включать все подряд. перед любым таким действием надо сесть и хорошо подумать
|
|||
7
EugeniaK
29.12.13
✎
17:27
|
(0) Не обязательно чтение увеличится.
Зависит от того, как основная часть запросов построена. Но зато в любом случае замедлится запись. Индексировать надо с умом, а не все подряд. |
|||
8
GROOVY
29.12.13
✎
18:13
|
Данные по которым строятся вирт таблицы и так индексируются, а к реальным движениям вроде как не модно обращаться, нафига их индексировать?
|
|||
9
Coldboy
29.12.13
✎
19:01
|
(8) вирутальный по умолчанию да?
тогда вопрос совсем отпадает. |
|||
10
Coldboy
29.12.13
✎
19:01
|
(4) я думал для вирутальных таблиц еще будет строится индекс, думал для них не строится.
|
|||
11
GROOVY
29.12.13
✎
19:08
|
(9) Для целей расчета показателей виртуальных таблиц значения измерений однозначно проиндексированы.
|
|||
12
Coldboy
29.12.13
✎
19:35
|
(11) я думал не всегда индексируются, а если индексируются и оптимально, тогда вопросов нет. спасибо.
|
|||
13
Лефмихалыч
29.12.13
✎
19:59
|
(0) эта распространенная логическая ошибка называется "Предвосхищение основания". Ты не доказал, что быстродействие увеличится, а принял на веру. Индексы - это не бесплатное волшебство. И не бесплатное, и не волшебство
(8) >а к реальным движениям вроде как не модно обращаться на экзаменте - это сразу минус полтора балла (0) |
|||
14
Coldboy
29.12.13
✎
20:41
|
(13) а я тута причем, сама 1С делала такой запрос
Запрос = Новый Запрос; Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Граница", Граница); Для каждого Фильтр Из ТаблицаФильтров Цикл Запрос.УстановитьПараметр(Фильтр.ИмяПоля, Фильтр.ЗначениеПоля); КонецЦикла; Текст = "ВЫБРАТЬ | РасходыУСН.Организация, | РасходыУСН.ВидРасхода, | РасходыУСН.ЭлементРасхода, | РасходыУСН.СчетУчета, | РасходыУСН.Валюта, | РасходыУСН.ДоговорКонтрагента, | РасходыУСН.РасчетныйДокумент, | РасходыУСН.СтатусыПартийУСН, | РасходыУСН.Партия, | РасходыУСН.ОтражениеВУСН, | РасходыУСН.СтатусыОплатыРасходовУСН, | РасходыУСН.СтатусыОплатыРасходовУСН.Порядок КАК СтатусыОплатыРасходовУСНПорядок, | СУММА(РасходыУСН.КоличествоОстаток) КАК Количество, | СУММА(РасходыУСН.СуммаОстаток) КАК Сумма, | СУММА(РасходыУСН.НДСОстаток) КАК НДС, | РасходыУСН.НомерСтрокиДокумента КАК НомерСтрокиДокумента, | РасходыУСН.РеквизитыДокументаОплаты КАК РеквизитыДокументаОплаты, | РасходыУСН.Партия.Дата КАК ПартияДата, | РасходыУСН.РасчетныйДокумент.Дата КАК РасчетныйДокументДата |ИЗ | РегистрНакопления.РасходыПриУСН.Остатки(&Граница, Организация = &Организация"; Для каждого Фильтр Из ТаблицаФильтров Цикл Если Найти(Фильтр.Условие, "В") = 0 Тогда Текст = Текст + " И " + Фильтр.ИмяПоля + " " + Фильтр.Условие + " &" + Фильтр.ИмяПоля; Иначе Текст = Текст + " И " + Фильтр.ИмяПоля + " " + Фильтр.Условие + " (&" + Фильтр.ИмяПоля + ")"; КонецЕсли; КонецЦикла; Текст = Текст + ") КАК РасходыУСН | |СГРУППИРОВАТЬ ПО | РасходыУСН.Организация, | РасходыУСН.ВидРасхода, | РасходыУСН.ЭлементРасхода, | РасходыУСН.СчетУчета, | РасходыУСН.Валюта, | РасходыУСН.ДоговорКонтрагента, | РасходыУСН.РасчетныйДокумент, | РасходыУСН.СтатусыПартийУСН, | РасходыУСН.Партия, | РасходыУСН.ОтражениеВУСН, | РасходыУСН.СтатусыОплатыРасходовУСН, | РасходыУСН.НомерСтрокиДокумента, | РасходыУСН.РеквизитыДокументаОплаты | |ДЛЯ ИЗМЕНЕНИЯ | |УПОРЯДОЧИТЬ ПО | СтатусыОплатыРасходовУСНПорядок, | ПартияДата, | РасчетныйДокументДата, | НомерСтрокиДокумента"; который щас 80% времени при восстановление последоватлельности занимает... |
|||
15
ilpar
29.12.13
✎
21:25
|
Порядок Измерений в конфигураторе - это есть кластерный индекс.
Попадайте в индекс в запросах, и все будет нормуль с быстродействием. |
|||
16
Coldboy
29.12.13
✎
21:37
|
(15) еще раз для особо одаренных) про кластерный индекс я понял. а что значит попадайй в индекс в запросах? вот типовой запрос, как его ускорить )
|
|||
17
viraboy
29.12.13
✎
21:47
|
(16) Поля в условии и соединении должны быть в том же порядке как и в индексе
|
|||
18
m-serg74
29.12.13
✎
21:50
|
(14) кстати всегда не понимал: какой смысл группировать по всем измерениям... на автопилоте?
|
|||
19
Coldboy
29.12.13
✎
21:56
|
(18) типовая вещь из БП 2.0, жутко по замерам время при закрытии не маленькой базы сьедает ...
(17) выбирать поля в том же порядке, как они в конфигураторе располагаются верно, то есть выборку делать? |
|||
20
m-serg74
29.12.13
✎
21:56
|
(19) да я понял что это не ты писал...
|
|||
21
Coldboy
29.12.13
✎
21:57
|
(20) а зачем вопрос тогда про автопилот )))
|
|||
22
m-serg74
29.12.13
✎
21:58
|
(21) не к тебе, просто говорю же удивлен...
|
|||
23
Лефмихалыч
29.12.13
✎
21:59
|
(14) ффу, мерзость!..
|
|||
24
m-serg74
29.12.13
✎
22:00
|
(21) там РасчетныйДокумент, Партия, РеквизитыДокументаОплаты - составные, реально все документы используются у вас? как варик убрать из регистраторов то чего никогда не будет использоваться
|
|||
25
echo77
29.12.13
✎
22:05
|
Груви все четко и правильно сказал в (8)
И у меня встречный вопрос: создал регистр сведений,подчиненный регистратору, периодический, ничего не индексировал, а прога "размер таблиц файловых баз" показывает что индексы занимают примерно половину объема данных Срез последних с отбором в параметрпе ВТ работает шустро. Что это за индекс? |
|||
26
m-serg74
29.12.13
✎
22:08
|
(25) Период, может регистратор, мож еще какие стандартные реквизиты
|
|||
27
echo77
29.12.13
✎
22:08
|
(19) не выбирать, а накладывать условие
Кстати про эту тему есть статья на ИТС |
|||
28
m-serg74
29.12.13
✎
22:11
|
(27) кстати ТС же написал - это типовой запрос из БП, УПП... или писателей типовых эта статья на ИТС не коснулась? :)
|
|||
29
Coldboy
29.12.13
✎
22:16
|
Функция ВыполнитьЗапросПоРасходам(Граница, Организация, ТаблицаФильтров, ТаблицаБлокировок = Неопределено) Экспорт
УстановитьБлокировкиПоТаблицеФильтров("РасходыПриУСН", ТаблицаФильтров, ТаблицаБлокировок, Организация); ОбработатьТаблицуФильтров(ТаблицаФильтров); Запрос = Новый Запрос; Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Граница", Граница); Для каждого Фильтр Из ТаблицаФильтров Цикл Запрос.УстановитьПараметр(Фильтр.ИмяПоля, Фильтр.ЗначениеПоля); КонецЦикла; Текст = "ВЫБРАТЬ | РасходыУСН.Организация, | РасходыУСН.ВидРасхода, | РасходыУСН.ЭлементРасхода, | РасходыУСН.СчетУчета, | РасходыУСН.Валюта, | РасходыУСН.ДоговорКонтрагента, | РасходыУСН.РасчетныйДокумент, | РасходыУСН.СтатусыПартийУСН, | РасходыУСН.Партия, | РасходыУСН.ОтражениеВУСН, | РасходыУСН.СтатусыОплатыРасходовУСН, | РасходыУСН.СтатусыОплатыРасходовУСН.Порядок КАК СтатусыОплатыРасходовУСНПорядок, | СУММА(РасходыУСН.КоличествоОстаток) КАК Количество, | СУММА(РасходыУСН.СуммаОстаток) КАК Сумма, | СУММА(РасходыУСН.НДСОстаток) КАК НДС, | РасходыУСН.НомерСтрокиДокумента КАК НомерСтрокиДокумента, | РасходыУСН.РеквизитыДокументаОплаты КАК РеквизитыДокументаОплаты, | РасходыУСН.Партия.Дата КАК ПартияДата, | РасходыУСН.РасчетныйДокумент.Дата КАК РасчетныйДокументДата |ИЗ | РегистрНакопления.РасходыПриУСН.Остатки(&Граница, Организация = &Организация"; Для каждого Фильтр Из ТаблицаФильтров Цикл Если Найти(Фильтр.Условие, "В") = 0 Тогда Текст = Текст + " И " + Фильтр.ИмяПоля + " " + Фильтр.Условие + " &" + Фильтр.ИмяПоля; Иначе Текст = Текст + " И " + Фильтр.ИмяПоля + " " + Фильтр.Условие + " (&" + Фильтр.ИмяПоля + ")"; КонецЕсли; КонецЦикла; Текст = Текст + ") КАК РасходыУСН | |СГРУППИРОВАТЬ ПО | РасходыУСН.Организация, | РасходыУСН.ВидРасхода, | РасходыУСН.ЭлементРасхода, | РасходыУСН.СчетУчета, | РасходыУСН.Валюта, | РасходыУСН.ДоговорКонтрагента, | РасходыУСН.РасчетныйДокумент, | РасходыУСН.СтатусыПартийУСН, | РасходыУСН.Партия, | РасходыУСН.ОтражениеВУСН, | РасходыУСН.СтатусыОплатыРасходовУСН, | РасходыУСН.НомерСтрокиДокумента, | РасходыУСН.РеквизитыДокументаОплаты | |ДЛЯ ИЗМЕНЕНИЯ | |УПОРЯДОЧИТЬ ПО | СтатусыОплатыРасходовУСНПорядок, | ПартияДата, | РасчетныйДокументДата, | НомерСтрокиДокумента"; Запрос.Текст = текст; Возврат Запрос.Выполнить().Выгрузить(); КонецФункции разбавлю наш вечер и возмущения (23) типовая БП 2.0, на ней построен общепит 2.0 |
|||
30
Coldboy
29.12.13
✎
22:18
|
ОбщмиеМодули.НалоговыйУчетУСН вон там это чудо
(24) каким образом можно убрать думал над этим. (27) вроде накладываются в том порядке. статья итс где точнее? |
|||
31
Coldboy
29.12.13
✎
22:19
|
вот это с помощью мисты работает, быстрее раза в 2 по замерам гилева и так замерам, но все же тоже также не совершенство.
Запрос = Новый Запрос; Запрос.УстановитьПараметр("Организация", Организация); Запрос.УстановитьПараметр("Граница", Граница); Для каждого Фильтр Из ТаблицаФильтров Цикл Запрос.УстановитьПараметр(Фильтр.ИмяПоля, Фильтр.ЗначениеПоля); КонецЦикла; ТекстФильтра = ""; Для каждого Фильтр Из ТаблицаФильтров Цикл Если Найти(Фильтр.Условие, "В") = 0 Тогда ТекстФильтра = ТекстФильтра + " И " + Фильтр.ИмяПоля + " " + Фильтр.Условие + " &" + Фильтр.ИмяПоля; Иначе ТекстФильтра = ТекстФильтра + " И " + Фильтр.ИмяПоля + " " + Фильтр.Условие + " (&" + Фильтр.ИмяПоля + ")"; КонецЕсли; КонецЦикла; Текст = "ВЫБРАТЬ | РасходыУСН.Организация, | РасходыУСН.ВидРасхода, | РасходыУСН.ЭлементРасхода, | РасходыУСН.СчетУчета, | РасходыУСН.Валюта, | РасходыУСН.ДоговорКонтрагента, | РасходыУСН.РасчетныйДокумент, | РасходыУСН.СтатусыПартийУСН, | РасходыУСН.Партия, | РасходыУСН.ОтражениеВУСН, | РасходыУСН.СтатусыОплатыРасходовУСН, | РасходыУСН.СтатусыОплатыРасходовУСН.Порядок КАК СтатусыОплатыРасходовУСНПорядок, | СУММА(РасходыУСН.КоличествоОстаток) КАК Количество, | СУММА(РасходыУСН.СуммаОстаток) КАК Сумма, | СУММА(РасходыУСН.НДСОстаток) КАК НДС, | РасходыУСН.НомерСтрокиДокумента КАК НомерСтрокиДокумента, | РасходыУСН.РеквизитыДокументаОплаты КАК РеквизитыДокументаОплаты |ПОМЕСТИТЬ Остатки |ИЗ | РегистрНакопления.РасходыПриУСН.Остатки( | &Граница, | Организация = &Организация | И &ТекстФильтра) КАК РасходыУСН | |СГРУППИРОВАТЬ ПО | РасходыУСН.Организация, | РасходыУСН.ВидРасхода, | РасходыУСН.ЭлементРасхода, | РасходыУСН.СчетУчета, | РасходыУСН.Валюта, | РасходыУСН.ДоговорКонтрагента, | РасходыУСН.РасчетныйДокумент, | РасходыУСН.СтатусыПартийУСН, | РасходыУСН.Партия, | РасходыУСН.ОтражениеВУСН, | РасходыУСН.СтатусыОплатыРасходовУСН, | РасходыУСН.НомерСтрокиДокумента, | РасходыУСН.РеквизитыДокументаОплаты, | РасходыУСН.СтатусыОплатыРасходовУСН.Порядок |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗЛИЧНЫЕ | Остатки.Партия КАК Ссылка |ПОМЕСТИТЬ ДокументыВсе |ИЗ | Остатки КАК Остатки | |ОБЪЕДИНИТЬ | |ВЫБРАТЬ РАЗЛИЧНЫЕ | Остатки.РасчетныйДокумент |ИЗ | Остатки КАК Остатки |"; Текст = СтрЗаменить(Текст, "И &ТекстФильтра", ТекстФильтра); МассивИмен = Новый Массив; Для каждого Тип Из Метаданные.РегистрыНакопления.РасходыПриУСН.Измерения.Партия.Тип.Типы() Цикл ИмяМД = Метаданные.НайтиПоТипу(Тип).Имя; Если МассивИмен.Найти(ИмяМД) = Неопределено Тогда МассивИмен.Добавить(ИмяМД); КонецЕсли; КонецЦикла; ТекстДаты = ""; Для каждого ИмяМД Из МассивИмен Цикл ТекстДаты = ТекстДаты + ?(ТекстДаты = "", "", Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ") + Символы.ПС + "ВЫБРАТЬ Ссылка, Дата " + ?(ТекстДаты = "", "ПОМЕСТИТЬ ДокиДаты", "") + Символы.ПС + " ИЗ Документ." + ИмяМД + " КАК Док ГДЕ Ссылка В (ВЫБРАТЬ Ссылка ИЗ ДокументыВсе)" КонецЦикла; Текст = Текст + ";" + ТекстДаты + " |; | ВЫБРАТЬ | Остатки.Организация, | Остатки.ВидРасхода, | Остатки.ЭлементРасхода, | Остатки.СчетУчета, | Остатки.Валюта, | Остатки.ДоговорКонтрагента, | Остатки.РасчетныйДокумент, | ДатыРасчетныхДокументов.Дата КАК РасчетныйДокументДата, | Остатки.СтатусыПартийУСН, | Остатки.Партия, | ДатыПартий.Дата КАК ПартияДата, | Остатки.ОтражениеВУСН, | Остатки.СтатусыОплатыРасходовУСН, | Остатки.СтатусыОплатыРасходовУСНПорядок, | Остатки.Количество, | Остатки.Сумма, | Остатки.НДС, | Остатки.НомерСтрокиДокумента, | Остатки.РеквизитыДокументаОплаты |ИЗ | Остатки КАК Остатки |ЛЕВОЕ СОЕДИНЕНИЕ ДокиДаты КАК ДатыПартий | ПО Остатки.Партия = ДатыПартий.Ссылка |ЛЕВОЕ СОЕДИНЕНИЕ ДокиДаты КАК ДатыРасчетныхДокументов | ПО Остатки.РасчетныйДокумент = ДатыРасчетныхДокументов.Ссылка |УПОРЯДОЧИТЬ ПО | СтатусыОплатыРасходовУСНПорядок, | ПартияДата, | РасчетныйДокументДата, | НомерСтрокиДокумента |"; |
|||
32
m-serg74
29.12.13
✎
22:25
|
(30) /каким образом можно убрать думал над этим/
галки у регистра поснимать что они - регистраторы, я у себя поснимал с всяких Авизо, ОтчетыКоммитентов и т.п. а то используется в БД 13-15 документов, а там их чуть ли не под 50... на копии... и проверить результат действа |
|||
33
Coldboy
29.12.13
✎
22:28
|
(32) а тупо регистраторы по снимал, с этого регистра ну тоже вариант, но это уже надо с гл. бух согласосывать, т.к. те документы уже фурычить не будут.
|
|||
34
m-serg74
29.12.13
✎
22:34
|
(33) это по любому но на копии то ничто тебе не мешает проверить без согласований
|
|||
35
Coldboy
29.12.13
✎
22:47
|
(34) обязательно проверю... ) заранее даже спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |