Имя: Пароль:
1C
1С v8
Индексация, временная таблица
0 Широкий
 
16.02.12
12:08
Запрос.Текст="ВЫБРАТЬ
   |    ТаблицаДанных.Ссылка,
   |    ТаблицаДанных.ПометкаУдаления,
   |    ТаблицаДанных.Код,
   |    ТаблицаДанных.Наименование
   |ПОМЕСТИТЬ ТаблицаДанных
   |ИЗ
   |    &ТаблицаДанных КАК ТаблицаДанных
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |ВЫБРАТЬ
   |    ТаблицаОбъекта.Ссылка КАК СсылкаОбъекта,
   |    ТаблицаДанных.Ссылка,
   |    ТаблицаДанных.ПометкаУдаления,
   |    ТаблицаДанных.Код,
   |    ТаблицаДанных.Наименование
   |ИЗ
   |    ТаблицаДанных КАК ТаблицаДанных
   |        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыПродукции КАК ТаблицаОбъекта
   |        ПО ТаблицаДанных.Ссылка = ТаблицаОбъекта.Ссылка
   |ГДЕ
   |    ВЫБОР
   |            КОГДА ТаблицаОбъекта.Ссылка ЕСТЬ NULL
   |                ТОГДА ИСТИНА
   |            ИНАЧЕ ТаблицаДанных.ПометкаУдаления <> ТаблицаОбъекта.ПометкаУдаления
   |                    ИЛИ ТаблицаДанных.Код <> ТаблицаОбъекта.Код
   |                    ИЛИ ТаблицаДанных.Наименование <> ТаблицаОбъекта.Наименование
   |        КОНЕЦ
   |;
   |
   |////////////////////////////////////////////////////////////////////////////////
   |УНИЧТОЖИТЬ ТаблицаДанных";

Индексы у временной таблицы нужно делать?
1 Ненавижу 1С
 
гуру
16.02.12
12:09
не нужно, но можно
2 БибиГон
 
16.02.12
12:10
не обязательно
3 Ненавижу 1С
 
гуру
16.02.12
12:11
условие писец

|ГДЕ
   |    ВЫБОР
   |            КОГДА ТаблицаОбъекта.Ссылка ЕСТЬ NULL
   |                ТОГДА ИСТИНА
   |            ИНАЧЕ ТаблицаДанных.ПометкаУдаления <> ТаблицаОбъекта.ПометкаУдаления
   |                    ИЛИ ТаблицаДанных.Код <> ТаблицаОбъекта.Код
   |                    ИЛИ ТаблицаДанных.Наименование <> ТаблицаОбъекта.Наименование
   |        КОНЕЦ

надо быть проще

|ГДЕ
| ТаблицаОбъекта.Ссылка ЕСТЬ NULL
   |                ИЛИ ТаблицаДанных.ПометкаУдаления <> ТаблицаОбъекта.ПометкаУдаления
   |                    ИЛИ ТаблицаДанных.Код <> ТаблицаОбъекта.Код
   |                    ИЛИ ТаблицаДанных.Наименование <> ТаблицаОбъекта.Наименование
4 H A D G E H O G s
 
16.02.12
12:11
Не нужно
5 Широкий
 
16.02.12
12:12
(3) Это я визуально просто выделил.
На работе запроса это практически не сказывается
6 Ненавижу 1С
 
гуру
16.02.12
12:13
(5) читабельность страдает, впрочем дело вкуса
7 Широкий
 
16.02.12
12:14
(1) Я тоже думаю что не нужно.. но как понять "можно"? Создаение индексов - это потраченное время
8 Широкий
 
16.02.12
12:15
(6) Просто придерживаюсь одного стиля.. Дальше еще хитрее идут запросы

   |            КОГДА ТаблицаОбъекта.Ссылка ЕСТЬ NULL
   |                ТОГДА ИСТИНА
   |            КОГДА ТаблицаОбъекта.НеЗамещатьПриОбмене
   |                ТОГДА ЛОЖЬ
   |            ИНАЧЕ ТаблицаДанных.ПометкаУдаления <> ТаблицаОбъекта.ПометкаУдаления
   |                    ИЛИ ТаблицаДанных.Проведен <> ТаблицаОбъекта.Проведен
   |                    ИЛИ ТаблицаДанных.Номер <> ТаблицаОбъекта.Номер
9 Stepa86
 
16.02.12
12:16
я б на ТаблицаДанных.Ссылка добавил индекс. А вообще замеры рулят, если есть сомнения
10 Леха Дум
 
16.02.12
12:22
Имеет смысл делать если есть соединение или условия по полю, данные в котором не уникальны например в 10000 строк с номенклатурой всего два различных склада
11 Леха Дум
 
16.02.12
12:23
+(10) ну и замеры ессно делать...
12 H A D G E H O G s
 
16.02.12
12:26
И данных много и ВТ будет использоваться несколько раз.
13 Axel2009
 
16.02.12
12:30
если данных более 1000штук, то при создании индекса будет веселее..
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.