Вход | Регистрация

  1  2

Прямые запросы в 1С что почитать?

Прямые запросы в 1С что почитать?
Я
   НоваяВолна
 
17.10.17 - 21:58
Доброго времени суток всем.
Моё обращение к форуму в сабж. Не хватает знаний применения прямых запросов к базе из 1С. Умею строить запросы на встроенном языке 1С, а  так же SQL запросы. Но как то одно с другим у меня плохо складывается по синтаксису и в понимании как запрос написанный средствами 1С преобразовывается в SQL. Знаю, тут есть много профессионалов и специалистов по платформе. Отсюда и вопрос. что можно почитать, чтобы разобраться в этом вопросе?
 
 
   Египтянин
 
101 - 18.10.17 - 00:06
Ты то со своим экспертом каких успехов добился кроме понтов? Я конкретно ни одну базу из ховна вытащил, а ты?
   Египтянин
 
102 - 18.10.17 - 00:09
+(101) Я на конкретных предприятиях, на конкретных базах в 100-200 пользователей, добился конкретных успехов. А от вас вообще никакой пользы, кроме ну мы бы наоптимизировали, но это будет стоить 100500тыщ руб, так что сидите и терпите.
   Про100Филя
 
103 - 18.10.17 - 00:09
(100) А ты точно 1Сник? Чем номер строки в таблице документа, отличается от индекса?
   Египтянин
 
104 - 18.10.17 - 00:13
(103) Объясняю для идиотов. я понимаю, что ты в лесу без библиотек жил. Но представь ситуацию простую есть у тебя книжка, где написано что статья ВасяПупкин лежит в томе, 5. Ты идешь к стелажу а там 1,2, 3,4,5 , о вот пятый том. или ты ищель к стелажу за 5тым томом,  а там 10, 50,34,12,1,52,5. В каком случае ты найдешь свою статью быстрее?
А ты точно не умственно отсталый?
   MrStomak
 
105 - 18.10.17 - 00:13
(100)
Если бы ты хоть заглянул в эти свои бессчисленные энциклопедии, ты бы понял, что индекс - это и есть отдельная таблица с указателями, отсортированными по полям индекса. Мы, конечно, говорим не про кластерный, т.к. речь про ТЗ.
Ну и специально разжую вывод - когда поиск идет по индексу, сортировка основной таблицы уже не имеет значения.
   H A D G E H O G s
 
106 - 18.10.17 - 00:14
(103) Он - самый настоящий, классический 1Сник. Не сомневайся.
   Египтянин
 
107 - 18.10.17 - 00:15
(106) А вы типа голубых кровей? Ну подумаешь, с сортировкой это лишнее было. Зато тз.индексы.добавить вполне себе рабочее решение.
   MrStomak
 
108 - 18.10.17 - 00:19
(102)
Сынок. Вопрос нужно ставить так: "А ты сколько баз вытащмл после таких как я гениальных оптимизаторов?"
Вам по рукам бить надо и клавиатуру больше не давать, с таким сочетанием гонора и некомпетентности нельзя подпускать к живым базам
   H A D G E H O G s
 
109 - 18.10.17 - 00:20
(107) "Ну подумаешь, с сортировкой"
Херня случается. Даже красным цветом выделять не пришлось.

Потом дойдешь до того, что и в ВТ индексирование не нужно.
   Египтянин
 
110 - 18.10.17 - 00:24
(108)  вопрос для голубых кровей.
1) Дает ли прирост в поиске по ТЗ.Найти("код") по таблице ТЗ.Индексы.Добавить("код"); ТЗ.Найти("Код")?

Дает ли прирост при объединении 
Или ВЫБРАТЬ ЧегоТо
ПОМЕСТИТЬ ВремТЧ
ИЗ
Траливали
ИНДЕКСИРОВАТЬ ПО ЧегоТо

////

ВЫБРАТЬ ЧегоТО 
Из ВремТЧ 
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ Таблица2 КаК Таблица2 
        ПО ВремТч.ЧегоТо = Таблица2 .ЧегоТо

Дает ли здесь прирост Индексировать если таблицы огромные или нет?
 
 Рекламное место пустует
   Adilgeriy
 
111 - 18.10.17 - 00:26
а сейчас уже не банят за оскорбления на форуме?
   MrStomak
 
112 - 18.10.17 - 00:31
(107)
Да рабочее.
Но неплохо бы помнить, что переход от курсора к тз приводит к совсем другому расходу памяти. Возможно, станет понятно, что иногда разработчики вынуждены были экономить память, потому что х64 серверов не было и себестоимость в принципе могла не рассчитаться на больших базах.
   Про100Филя
 
113 - 18.10.17 - 00:31
(106) Это тот который от ста тыщ, не меньше.
(110) А почему "Траливали" сразу не соединить внутреннем? Меньше кода => быстрее работает
(111) Так я же простофиля, все норм
   H A D G E H O G s
 
114 - 18.10.17 - 00:35
(110) "Дает ли здесь прирост Индексировать если таблицы огромные или нет?"

нет, не даст.
   Египтянин
 
115 - 18.10.17 - 00:35
(113) Я не достоин отвечать на такие вопросы, вон пусть эксперты отвечают. Но, есть мнение, что sql при каждом соединении будет циклом всю таблицу перебирать
   MrStomak
 
116 - 18.10.17 - 00:37
(110) Да вот представь себе, что без индекса в таблице2 по полю ЧегоТо, толку от всего этого не будет.
   MrStomak
 
117 - 18.10.17 - 00:43
(115)
Ну да.
ВТ с индексом это вообще гарантия успеха.
У тебя таблица с 30 000 000 строк и нужно найти 2 строки по неиндексированному реквизиту?
Помести ее всю в ВТ, проиндексируй это поле и потом дерзко и эффектно отбери из нее 2 строки!
   Египтянин
 
118 - 18.10.17 - 00:43
(116) а теперь представь, что ВремТЧ  - это ТаблицаРегистраОстатков, а Таблица2  это табличная часть документа из 10 строк. Будет прирост?
   H A D G E H O G s
 
119 - 18.10.17 - 00:48
(118) Начнем с того, что карачун настанет на момент помещения большой таблицы в ВТ. На этом и закончим. Если ты имеешь намерения поместить Остатки без фильтра, что еще более дичь.
   H A D G E H O G s
 
120 - 18.10.17 - 00:50
Индексация ВТ имеет смысл только в одном случае:
В ВТ помещается таблица результата неетического запроса после аггрегации (группировки), по которой потом будет производиться связывание более чем с 1 таблицей.
Спорно, но иногда - можно.
   Египтянин
 
121 - 18.10.17 - 00:52
(119) а зачем мне вся таблица остатков? Я х.з. как вам там мозги выносят на ваших экспертах, но 1С пишет в типовых вот так. И я просто повторяю. А чего там как это уже не важно.
   H A D G E H O G s
 
122 - 18.10.17 - 00:52
(118) Без индексов sql построит hash-join и даже не почешется.
   MrStomak
 
123 - 18.10.17 - 00:53
(118)
Прирост относительно чего?
Относительно таких же действий, но без индексирования?
При большой таблице остатков и высокой селективности индекса прирост будет.
При малой селективности и большой таблице будет деградация из-за увеличенных накладных расходов на создание кластерного индекса, который не будет использован.

И все это в итоге окажется ерундой, потому что создавать вт с огромным числом записей - это почти всегда архитектурная ошибка что с индексом, что без.
   Про100Филя
 
124 - 18.10.17 - 00:54
(115)
Для каждого ... по

А ваще скуль не перебором кареток работает.
(120) Имеет смыл в некоторых местах индексировать когда условие состоит из нескольких полей, где есть условие = и <>, или что то похуже
   MrStomak
 
125 - 18.10.17 - 01:00
(121)
Я не знаю, зачем тебе вся таблица остатков.
Но это именно ты описывал кейс, обозначил таблицу остатков и сказал, что в ней много записей
   Злопчинский
 
126 - 18.10.17 - 01:23
Понятно что здорово, но здорово непонятно
   H A D G E H O G s
 
127 - 18.10.17 - 01:26
Посмотрим, как ребятки-зверятки марочки будут учитывать. Будет интересно, не переключайтесь.
   Adilgeriy
 
128 - 18.10.17 - 01:27
а упп на каком скуле быстрей работает?
   VladZ
 
129 - 18.10.17 - 03:59
(0) Зачем так сразу? Сначала нужно провести анализ: что тормозит и почему.  Возможно, у тебя кривая структура данных. Или алгоритмы "кривые".
   rphosts
 
130 - 18.10.17 - 04:10
(0) тут даже эксперты по технологическим вопросам встречаются (минимум 2 в 1 сотне постов отписались)... вопрос "как ускорить" - это к ним.
Чтение мимо сервера 1С - нао=рушение лицензионного соглашения, начтите с того что-бы прочитать именно его.
   mehfk
 
131 - 18.10.17 - 04:33
   impulse9
 
132 - 18.10.17 - 05:29
(0) какие прямые запросы? Почитай хотя бы последовательность при решении вопросов производительности. Настрой мониторинг, определи список ключевых операций и т.д.
   d4rkmesa
 
133 - 18.10.17 - 08:27
(0) Хехе, вы не с того начали, если проблемы с производительностью. Ну вам тут уже все рассказали. ) Запросы 1С обычно преобразуются в более-менее прямые запросы в SQL. Если по каким-то причинам этого не происходит, план запроса не оптимальный и выполняется долго, нужно каждый случай рассматривать отдельно. В УТ10 куча стандартных отчетов на универсальном отчете, которые можно загнать в **пу некорректной настройкой, к примеру, взять ведомость по партиям товаров и навыбирать условий по документу расчетов или регистратору, через "несколько точек". Тогда, конечно, он будет выполняться по 40 минут, особенно если не настроен план обслуживания в SQL. В общем, почитайте на предмет производительности Мисту и Инфостарт, много любопытного откроете. )
 
 
   DrShad
 
134 - 18.10.17 - 08:39
все не читал, но осуждаю, если отчеты тормозят, то дело в самих отчетах, а не в СУБД или серванте 1С
   Филиал-msk
 
135 - 18.10.17 - 08:44
(134) В космосе хаос все люди грешники так спасемся
   Cyberhawk
 
136 - 18.10.17 - 09:14
Что-то ветка превратилась в индексо-срач какой-то :)
   Лефмихалыч
 
137 - 18.10.17 - 09:19
(0) как минимум, вот это: http://v8.1c.ru/metod/books/book.jsp?id=499

(39) для этого прямые запросы не нужны.
   Лефмихалыч
 
138 - 18.10.17 - 09:23
(136) а разве так не всегда бывает, когда в ветке появляется слово sql?
   MrStomak
 
139 - 18.10.17 - 10:15
(138)
Тут началось с вброса "все эти ваши эксперты-шмексперты фигня, я тут давеча узнал, что ТЗ можно индексировать!"
  1  2

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует