|
Поведение MS SQL server при длительных запросах. | ☑ | ||
---|---|---|---|---|
0
Lama12
18.09.13
✎
10:21
|
Есть большой запрос. В нем несколько вложенных полностью повторяющих друг друга (да, можно вытащить во временные таблицы, но это пока отложим).
Допустим во время выполнения первого вложенного запроса в базе одни данные, во время другого - другие. Вопрос - что будет в результатах запроса (насколько помню 1С использует грязное чтение)? Будет ли сервер пытаться актуализировать результаты первого вложенного запроса после изменения данных в базе или это мой бред? |
|||
233
Odavid
23.09.13
✎
13:22
|
(229) причем тут АБАП? Вы и из АБАП не смогли понять, что там никаких "клиентов-серверов" специально в коде указывать не надо.
|
|||
234
Лефмихалыч
23.09.13
✎
13:22
|
(231) продолжай, мне кажется ты хочешь сейчас какой-то смысл в виду поиметь. Нужно больше подлежащих и меньше намеков
|
|||
235
Odavid
23.09.13
✎
13:25
|
(234) вот и спрашиваю - как SQL этот индекс пользует? Все уже разжевал ))
|
|||
236
Odavid
23.09.13
✎
13:27
|
Всем, кто тут еще "попкорном запасся" - для начала бы определились, что такое:
- 3хзвенная архитектура - 3хзвенная архитектура 1С - объекты в ООП - "объекты" в 1С - тонкий клиент - тонкий клиент в 1С - запросы в SQL - запросы в 1С - обработка данных на сервере 1С - обработка данных в СУБД и т.д. Это также к вопросу "один знает одно, другой - второе, и оба не знают третьего". |
|||
237
MKZM
23.09.13
✎
13:37
|
(228) Работает как во всех стандартных 3 зв. Ничего нового они выдумать не могут. Все выдумано уже до них. А у вас какие-то другие сведения? Если да, то конкретно.
|
|||
238
MKZM
23.09.13
✎
13:40
|
(236) А что такое объект в ООП? Давайте начнем с вас.
|
|||
239
viktor_vv
23.09.13
✎
13:44
|
(231) Че ж это SQL о нем не знает ? Все он прекрасно знает, так этот индекс присутствует в самом скуле, так как при создании справочника и соотвественно создании таблиц в скуле там и индекс создатся, оптимизатор прекрасно о нем знает, и при составлении плана запроса будет его использовать, если он подходит.
|
|||
240
viktor_vv
23.09.13
✎
13:46
|
(235) Ты ж если запрос пишешь на T-SQL не указываешь в явном виде какой индекс использовать, оптимизатор сам подберет подходящий из имеющихся.
Только про хинты не надо рассказывать. |
|||
241
Odavid
23.09.13
✎
13:46
|
+ 236:
Также подумайте, почему НЕ СУЩЕСТВУЕТ полной конвертации запросов 1С в T-SQL без выполнения 1С-запросов. |
|||
242
viktor_vv
23.09.13
✎
13:48
|
(241) Давай сначала свой вариант.
|
|||
243
Odavid
23.09.13
✎
13:49
|
(328) да вы с себя начните.
Не знаю, как все остальное - но 1С подавляющее большинство знает слабо. А, обычно, и во всех областях также. 1С - это лакмус для "дорогих россиян", начиная с версии 8.0. Я бы ввел изучение 1С его как подготовительный курс при поступлении в институты, чтобы оценить не знание 1С, а вообще - способности, усидчивость, грамотность, восприимчивость знаний, желания и прочие навыки абитуриентов, необходимые для обучения. |
|||
244
Odavid
23.09.13
✎
13:50
|
(239) как SQL использует "объекты" в индексах, если у него никаких объектов нет?
Ваш вариант. |
|||
245
viktor_vv
23.09.13
✎
13:53
|
(244) Какие объекты он должен использовать в индексах.
Если ты про обращение в запросах через две точки, то происходит неявное разыменование полей с соответвующими левыми соединенями. |
|||
246
MM
23.09.13
✎
13:53
|
Odavid ответьте на (242) и без вопросительных знаков
|
|||
247
Odavid
23.09.13
✎
13:55
|
(242) вы, и все остальные, пытаетесь не найти ответ, а показать некие свои "знания", мешая в кучу все, что есть - вики, лекции, отрывочные знания, агитки 1С и прочее.
Не понимая, что 1С так написали свою "надслойку" над СУБД, что логика 1С запросов и запросов СУБД - совершенно непохожа. Тем более, как его еще воспримет план запросов. И без прямой конвертации 1С запроса/открытия исходников никто до сих пор так и не знает, как же на самом деле эта "прослойка" работает. |
|||
248
Odavid
23.09.13
✎
13:55
|
(246) я уже ответил, все остальное - попытки меня запутать путем накидывания неких терминов, которые вы и сами не понимаете.
|
|||
249
Odavid
23.09.13
✎
13:56
|
+ 248 а такие попытки не могут быть достойны обсуждения или реагирования, уж извините ))
|
|||
250
viktor_vv
23.09.13
✎
14:03
|
(248) Может по другому сказать.
Может "все остально" это попытка показать тебе , где ты заблуждаешься. Но ты ведь почему-то решил, что единственный обладаешь тайным знанием, недоступным всем остальным. И решил поиграть в мессию, пришедшим на этот свет, дабы освободить заблудшие умы и души бедных одинэсников от той ереси, которую им внушила это исчадие ада 1С :). К врачу не пробовал обратится. |
|||
251
Sammo
23.09.13
✎
14:04
|
(211) 1. В профессиональной разработке описаны - какие индексы создаются автоматически. И какие из них кластерные.
2. Если я реквизиту в справочнике поставлю - индексировать, то в скуле будет сформирован индекс по данному полю. |
|||
252
Odavid
23.09.13
✎
14:05
|
(245) вот именно, что никаких. Потому что никаких объектов там нет.
А в 1С - уже есть. Вы называете "индексами" обычные ключи в таблице (которые есть у любой таблицы), и SQL только находит эти ключи, а объекты и все связанное с этими "ключами-объектами" уже запрашивает 1С-сервер. И он же и обрабатывает эту "дополнительно" запрошенную информацию. А вы хотите подменить индексы СУБД, с которыми она работает, получая записи таблиц, на "индексы 1С", которые собираются по всей базе, и сами "помогают" собирать информацию по "объектам", на которые ссылаются. 1С делает "индекс". Для SQL - это некий набор-ключ определенного вида, который он и возвращает как "набор символов". А для 1С и всех "за ним" (и вас тоже) - это уже объект. Который и обрабатывается как "объект" в рамках 1С, а не как набор символов. А вам уже выдается результат ПОСЛЕ обработки этих "объектов". |
|||
253
Maxus43
23.09.13
✎
14:05
|
>>И без прямой конвертации 1С запроса/открытия исходников никто до сих пор так и не знает, как же на самом деле эта "прослойка" работает.
Утомил уже, в профайлере смотри что приходит на скуль из 1с. Приходит всегда одно и тоже а не рандомные запросы с потолка, для этого не надо знать начинку внутренностей 1с. Посмотрел в профайлере - понял как транслирует, всё остальное с этим запросом от 1с уже не зависит, его выполняет скуль |
|||
255
Enders
23.09.13
✎
14:11
|
- 1С работает не так!!!
- А как надо? - А как работает?) Вот и весь диалог с Odavid. |
|||
256
Maxus43
23.09.13
✎
14:12
|
(255) +100 :)
|
|||
257
viktor_vv
23.09.13
✎
14:12
|
(252) Ну правильно. Так в чем проблема.
Объектная модель представления данных в 1С при трансляции запроса в запрос к СУБД преоразуется в реляционную модель представления данных (теже обращения в запросе через две точки транслкак в дополнителные неявные левые соединения) , при получении данных с СУБД 1С полученный результат преобразует к объектной моделе представления данных. В чем проблема ? Что у тебя в этой цепочке вызывает такой батхерт ? |
|||
258
Лефмихалыч
23.09.13
✎
14:15
|
(255) ну от чего же весь? Одавид многогранен, как стакан. Он еще может аргументировать абапом и рукомашеством
|
|||
259
Enders
23.09.13
✎
14:17
|
(258) Просто после явных доказательств с противоположной стороны, и доказательств из вакуума от Odavid'a - всё возвращается обратно к этому диалогу)
|
|||
260
Odavid
23.09.13
✎
14:19
|
(251)>>И какие из них кластерные.
правильно. Но это только одно поле. И SQL не знает, что на самом деле означает данный "индекс" (а он обычно является ключом-ссылкой в 1С). >> Если я реквизиту в справочнике поставлю - индексировать так какое отношение некластерные индексы имеют к уникальному кластерному индексу? |
|||
261
Odavid
23.09.13
✎
14:23
|
(257)>>В чем проблема
проблема в том, что этой - основной! - обработкой и занимается 1С-сервер. Что как раз вызывает "батхерт" у всех вас, не понимающих "3хзвенную архитектуру 1С" )) А SQL только дает кучу таблиц по запрошенным объектам - над которой потом "корпит" 1С-сервер. Вот откуда "не использует индексы SQL" - они 1С вообще не нужны, т.к. он получает кучу "сырых" таблиц, которые потом еще и "перетирает" в меру возможности. Часто эта "возможность" не покрывает "искомое". И тогда - часы обработки либо ошибка с вылетом. |
|||
262
MM
23.09.13
✎
14:24
|
(253) от версии к версии это дело может меняться, как и структура базы, что обосновывает запрет на стороннее вмешательство.
(248) ты ни разу не ответил на вопросы |
|||
263
Odavid
23.09.13
✎
14:26
|
(257)>>при получении данных
>> с СУБД 1С полученный результат преобразует к объектной моделе представления данных. - вот и разберитесь, где основная обработка в этих двух этапах. А то натягиваением "логики SQL на 1С" народ занимается уже с выхода 8-ки, а воз и ныне там - снова и снова грабли с SQL и 1С, и все новые и новые лица. |
|||
264
viktor_vv
23.09.13
✎
14:26
|
(261) У меня есть некоторые сомнения насчет того, что кучу сырых таблиц и насчет того, что 1С сервер сильно корпит над ними. Ну очень сильные сомнения.
|
|||
265
Odavid
23.09.13
✎
14:27
|
(253)>>Посмотрел в профайлере - понял как транслирует,
вы сколько запросов посмотрели? 1? 10? сто? в студию - логику преобразования. А лекции свои студенческие мне постоянно совать из года в год по сто раз одни и те же - увольте )) |
|||
266
МихаилМ
23.09.13
✎
14:27
|
(261)
пожалуйта, хоть както аргуметируйте свои мысли. Например "я изучил трассы взаимодействия 1с и скл и пришёл у выводу" или я "выяснил работу 1с под отладчиком" или еще как-то. НО аргументированнно. |
|||
267
Odavid
23.09.13
✎
14:28
|
(264) а у меня нет.
В этом и разница. Вам наплевать, на самом деле, как там все работает - у вас есть "лекции", которые "все объясняют". А я работаю каждый день с этим "объясненным". |
|||
268
MKZM
23.09.13
✎
14:29
|
(261) он получает кучу "сырых" таблиц
Охринеть. Вы не могли бы показать исходники (кусочек работы с сервером) вашей любой программы не 1с. Складывается впечатление, что ни одной у вас нет и вы даже не представляете как это все работает. |
|||
269
Odavid
23.09.13
✎
14:29
|
(266) >>НО аргументированнно.
тут уже аргументировали - как запросы преобразуются из 1С в SQL? А то я пропустил. |
|||
270
viktor_vv
23.09.13
✎
14:30
|
(263) Ставлю на то, что основная обработка происходит на стороне SQL сервера.
За исключением специфических конструкций языка запросо 1С, типа Итоги ПО, пострение иерархии по справочнику, которые обрабатываются на стороне сервера 1С. И то распределние времени между ними неочевидное. |
|||
271
MKZM
23.09.13
✎
14:30
|
(270) Все что не стандартный скл, то 1с :)
|
|||
272
Odavid
23.09.13
✎
14:31
|
(268)>>Вы не могли бы показать исходники (кусочек работы с сервером) вашей любой программы не 1с.
степень проработанности других "программ" не идет в сравнение с 1С. Я про любые коммерческие API или языки по работе с БД. |
|||
273
Odavid
23.09.13
✎
14:32
|
(270)>>Ставлю на то, что основная обработка происходит на стороне SQL сервера.
увы, это не так. Иначе бы давно забыли про "1С опять тормозит!!!!" - просто бы подкрутили SQL или запросик поменяли на более "мелкий с частями". |
|||
275
MKZM
23.09.13
✎
14:33
|
(272) языки по работе с БД.
Не могли бы подсказать языки работы с БД. А то я забыл. |
|||
276
Sammo
23.09.13
✎
14:33
|
(261) Вот когда тебе скуль вместо отбора по индексу в табличке с ярдом записей полезет в тэйблскан, вот тогда поговорим про "кучу сырых таблиц" и про "не использует индексы SQL"
|
|||
277
Maxus43
23.09.13
✎
14:35
|
(265) я смотрю когда есть сомнения что работает криво/долго
|
|||
278
viktor_vv
23.09.13
✎
14:46
|
(271) Ну да, но он-то напирает на то, что и простая типизация результатов запросов занимает много времени.
|
|||
279
viktor_vv
23.09.13
✎
14:48
|
(276) Кстати в ветке из (219) он и такую мысль высказвал, что сервер 1С тянет на себя всю таблицу из СУБД и потом из нее уже что-то там требумое для себя берет по этим самым мифическим индексам 1С.
|
|||
281
MKZM
23.09.13
✎
14:49
|
(279) Это вообще пипец.
|
|||
282
Enders
23.09.13
✎
14:51
|
(279) Это он типа сказал что 1с использует СКЛ только как хранилище?)
|
|||
283
Ёпрст
23.09.13
✎
14:57
|
Не топите ветку, мы следим за событиями.
Может, еще какое открытие будет, окромя индексы в 1с и вы ничего не понимаете в трехзвенке! |
|||
284
viktor_vv
23.09.13
✎
15:02
|
(281) Дабы меня не обвинили в том, что я че-то придумываю
из (219) Odavid 233 - 21.08.13 - 10:32 (230) "не нужную часть данных", а кучу всего нужного и ненужного оптом - SQL дает запрошенные таблицы с данными целиком. И потом разбирает "у себя", отсеивая ненужное, используя "свои" индексы, которые 1С понаделала. |
|||
285
viktor_vv
23.09.13
✎
15:04
|
(283) Где-то еще ветка была с откровениями про ООП :).
|
|||
286
Лефмихалыч
23.09.13
✎
15:05
|
У поциента параноидальный бред, так же известный, как "власти скрывают" с той только разницей, что скрывают не власти, а какие-то "агитки"
|
|||
287
Spieluhr
23.09.13
✎
15:06
|
(286) + поциент походу еще и безработный
|
|||
288
Maxus43
23.09.13
✎
15:10
|
Это провокатор из фирмы 1с, наверняка. хочет вызнать как работает платформа :)
|
|||
289
MKZM
23.09.13
✎
15:12
|
(288) Точно. Поздно, ему все рассказали. Скоро выйдет новая версия.
|
|||
290
Odavid
23.09.13
✎
16:21
|
а кто понимает?
ну, кто понимает в трехзвенке? )) |
|||
291
Maxus43
23.09.13
✎
16:26
|
(290) Что значит кто понимает в трёхзвенке? Вы понимаете вобще что спрашиваете? Трёхзвенка - это архитектура, Концепция построения системы, это Идея без конкретных алгоритмов, это Теория
|
|||
292
Odavid
23.09.13
✎
16:28
|
Вот еще вопрос на засыпку - почему 1С не "догадалась" использовать изначально Firebird??
Казалось, бери и пользуй бесплатное. Тоже PL-SQL Ан нет. А там разве что полнотекстовых индексов нет. Видимо, это для 1С самое важное. |
|||
293
Odavid
23.09.13
✎
16:31
|
(291)>>это Идея без конкретных алгоритмов, это Теория
вот и давайте, соберитесь, сопоставьте теорию и реализацию в 1С. Т.е. ТЕОРИЮ 3хзвенки ПО 1С. А не теорию по институту. И объясните, почему "вдруг" происходит несинхронная обработка (что обсуждали на первой странице), почему никогда не было или куда пропал контроль записей в 1С и т.д. Архитектура же. 3хзвенная. Книжки все почитали? |
|||
294
Maxus43
23.09.13
✎
16:33
|
да толку то, см. (255)
|
|||
295
Odavid
23.09.13
✎
16:36
|
+ и почему нельзя писать прямые запросы - АРХИТЕКТУРА же, а не "1С погулять вышла", так где эта "архитектура", чтобы ей воспользоваться??
|
|||
296
Odavid
23.09.13
✎
16:39
|
(294)так да, "- А как работает?)" - только эти вопросы и слышу.
- что такое 3хзвенка - что такое ООП - что таоке объект ... хотя изначально ни одно из этих определений к 1С никаким боком не прислоняется. |
|||
297
Odavid
23.09.13
✎
16:41
|
(294) толку в том, что никто из вас не понимает, что происходит на самом деле.
Агитки прочитали - и все. А когда проблемы возникают - "но вот тут же написано.." и пошли цитаты из Вики, учебников, агиток.... А подумать, что 1С думала одно, реализовала другое, а описала - третье в доках и агитках, - никто из вас такого и предположить не может. Как же, коммерческий продукт - и такого качества..... |
|||
298
Maxus43
23.09.13
✎
16:45
|
(297) А ты знаешь как работет внутри 1с? Нет же, и зачем нас спрашиваешь как работает? И мы не знаем. Но мы не кричим что 1с гавно и неправильно работает, а делаем свою работу, и получается, в отличии от вас видимо.
Проблемы возникают - надо решать, а не требовать непонятно у кого - переписать платформу и тупые вопросы типа "почему 1С не "догадалась" использовать изначально Firebird" |
|||
299
Spieluhr
23.09.13
✎
16:47
|
(297) вам нужно на РЕН-ТВ какую-нить передачу вести про то, что 1С что-то скрывает от людей ...
|
|||
300
Odavid
23.09.13
✎
16:48
|
(298)>>А ты знаешь как работет внутри 1с?
я, по-крайней мере, догадываюсь. А вы даже догадыватьтся не хотите ))) |
|||
301
Odavid
23.09.13
✎
16:49
|
(299)>> что 1С что-то скрывает от людей
1С всегда скрывала и скрывает правду о самой себе (сиречь своих продуктах). Это давно известно, и сенсацией не станет )) Это как гром только для вас ))) |
|||
302
Odavid
23.09.13
✎
16:50
|
(298)>>а делаем свою работу
бабло рубите? |
|||
303
Odavid
23.09.13
✎
16:51
|
>>Проблемы возникают - надо решать
я уже умаялся перечислять проблемы-вопросы. А воз и ныне там - но для себя я выводы уже сделал давно. А одноэсники как хотят. Работать - не бабло рубить )) |
|||
304
Maxus43
23.09.13
✎
16:52
|
>>я, по-крайней мере, догадываюсь.
Дай угадаю, "Не правильно"?)))) |
|||
305
viktor_vv
23.09.13
✎
16:56
|
(297) Давай так, для прояснения вопроса с использованием индексов.
Простой пример с запросом 1С и последовательность обработки данных в соотвествии с вашей теорией. Итак. Есть сервер приложений 1С, есть сервер СУБД. Для натуральности представления обмена даными между ними, они находятся на физически разных серверах, соединены между собой по сети. Для исключения спекуляций на тему долгой типизации результата запроса, у нас результатом запроса будет таблица с одной колонкой примитивного типа Строка. Вот запрос. Выбрать СпрНоменклатура.Наименование КАК Наименование ИЗ Справочник.Номенклатура КАК СпрНоменклатура ГДЕ СпрНоменклатура.Ссылка = &ПараметрСсылка В соотвествии с вашей теорией использования индексов в 1С будет следующая последовательность действий. Вначале сервер приложений 1С получит с сервера СУБД по сети всю таблицу справочника номенклатура, со всеми 50 000 записей и всеми 40-ка полями. Далее свои индексы 1С сервер приложений 1С из этой полученной таблицы получит записи удовлетворяющие условию ГДЕ СпрНоменклатура.Ссылка = &ПараметрСсылка и вернет клиенту уже конечный результат. Просьба ответить односложно Да или Нет. Без всяких философских рассуждений. |
|||
306
Ёпрст
23.09.13
✎
16:57
|
Тааак.. продолжайте наблюдение.
|
|||
307
viktor_vv
23.09.13
✎
16:58
|
(305)* Исправление
Далее *Используя свои индексы 1С сервер приложений 1С из этой полученной таблицы получит записи удовлетворяющие условию |
|||
308
Ёпрст
23.09.13
✎
16:59
|
(305) Не, ты не в теме, ты не знаешь, что происходит на самом деле, прочитал агитку и лезешь тут со сложными вопросами да и нет, ответ на (305) будет таким:
- Неужели ? |
|||
309
Ёпрст
23.09.13
✎
17:01
|
Модеры, подымите ветку из небытия!
Пусть плавает в топе. |
|||
310
Maxus43
23.09.13
✎
17:02
|
Odavid, кто тебя обидел? Нуралиев лично? Компания 1с? Другой 1сник, который умееит работать, но не читал про индексы СУБД SQL, трёхзвенки и прочее - забрал твою работу?
|
|||
311
Odavid
23.09.13
✎
17:06
|
(310)>>который умееит работать, но не читал про индексы СУБД SQL, трёхзвенки и прочее - забрал твою работу?
это фантастика! Тем более, в мск. Тем более, среди нынешнего поколения "студентов". Тем более, что работу забираю я. |
|||
312
Maxus43
23.09.13
✎
17:09
|
(311) Как обычно, совершенно ничего не понятно в ответе. Кто тебя обидел?
|
|||
313
Spieluhr
23.09.13
✎
17:09
|
(311) так что насчет (305) ?
|
|||
314
Ёпрст
23.09.13
✎
17:12
|
(313) Вы таки спГашиваете или отвечаете ?
:) |
|||
315
viktor_vv
23.09.13
✎
17:15
|
(308) Я думаю ответа вообще не будет :).
|
|||
316
Spieluhr
23.09.13
✎
17:17
|
(315) ага, наверное он ушел забирать очередную порцию работы у таких как мы )))
|
|||
317
Sammo
модератор
23.09.13
✎
17:24
|
(311) Прошу в течении часа ответить на 305, 307.
|
|||
318
Лефмихалыч
модератор
23.09.13
✎
17:28
|
+(317) от себя добавлю: "без вопросительных знаков"
|
|||
319
vvf1973
23.09.13
✎
17:30
|
суровые модеры взяли одавида в плотное кольцо...как в голубой лагуне... :-)
|
|||
320
Maxus43
модератор
23.09.13
✎
17:32
|
Да ответит, скажет что не это имел ввиду и всё...
|
|||
321
Ёпрст
23.09.13
✎
17:32
|
Не ответит, делаем ставки.
|
|||
322
Лефмихалыч
23.09.13
✎
17:34
|
(320) конечно ответит. Ссылку на какую-нить муру даст и будет корчить из себя мем ЕВПОЧЯ:
http://images.wikia.com/elderscrolls/images/1/11/If_you_know_what_I_mean_.png |
|||
323
viktor_vv
23.09.13
✎
17:47
|
Похоже свалил он из ветки. Теперь будет слезная история, типа не видел вопроса, надо было срочно уходить и т. д.
|
|||
324
Ёпрст
23.09.13
✎
17:48
|
(323) ты просто убил его своим вопросом, взорвал ему мозг. Его двухзвенная архитектура мозг-пальцы по клаве отказались работать.
|
|||
325
viktor_vv
23.09.13
✎
17:51
|
(324)Ну я не ожидал, что этот вопрос в такой тупик его поставит, простите :).
Вроде он оперирует такими высокими материями. |
|||
326
Spieluhr
23.09.13
✎
17:56
|
(325) еще чуток подождем, ответ у него наверняка готов, но как его выразить в утвердительной форме, без вопросительных знаков...
|
|||
327
viktor_vv
23.09.13
✎
18:00
|
(326) Да уж, это наверное самое тяжелое.
Причем он героически продолжает наблюдать за веткой :), и не менее героически молчит :). |
|||
328
Sammo
модератор
23.09.13
✎
18:53
|
+317 Ответ готов получить на почту. Если не терпится - копию можно отправить любому из отметившемуся в теме.
|
|||
330
Ёпрст
24.09.13
✎
13:52
|
Ага, а он может быть ужо и ответ подготовил.
|
|||
331
MM
09.10.13
✎
10:57
|
Odavid, разбанили. Жду ответов. )
|
|||
332
fisher
09.10.13
✎
11:15
|
Числится в бане. И слава богу.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |