Имя: Пароль:
1C
1С v8
MS SQL. как оптимизировать запрос ?
0 zladenuw
 
07.02.13
00:34
чем увидеть, какой запрос идет к sql, что бы оптимизировать запрос.
1 H A D G E H O G s
 
07.02.13
00:39
(0) Ну чувак, ну ты че.

ms sql profiler - самое простое.
2 zladenuw
 
07.02.13
00:41
да не занимался я таким. а для postgres  то же есть
?
3 H A D G E H O G s
 
07.02.13
00:42
(2) Не занимался я PostGree. Но для него скорее всего можно включить Техжурнал 1С.
4 zladenuw
 
07.02.13
00:43
как оптимизировать запрос к документу. при записи нужно проверить или нет ключа из 5 реквизитов. 1 реквизит документа, 4 реквизита в ТЧ. какой индекс строить ?
5 YHVVH
 
07.02.13
00:43
И что тебе даст профалер ?
6 H A D G E H O G s
 
07.02.13
00:46
(5) Текст запроса, план запроса, узкое место в нем, операция, которая вызывает это узкое место и мысли, как это обойти.

"А вот и Джонни!"
7 YHVVH
 
07.02.13
00:47
План и время можно без профайлера
8 H A D G E H O G s
 
07.02.13
00:47
Как?
9 YHVVH
 
07.02.13
00:48
Обычным менеджером ms
10 YHVVH
 
07.02.13
00:49
Там же есть посмирнеть план выполнения и замер производительности
11 H A D G E H O G s
 
07.02.13
00:49
(9) Каким?
12 zladenuw
 
07.02.13
00:50
13 H A D G E H O G s
 
07.02.13
00:50
EM штоле?
Ага, добудь мне текст запроса сначало, а потом константируй его!
14 YHVVH
 
07.02.13
00:52
(13) ага добыть только профайлер , я не увидел что надо его добыть
15 H A D G E H O G s
 
07.02.13
00:54
(14) Ты добудешь параметрический запрос вида

execsql'...'

который в плане запроса отобразиться в виде одного блока с временем выполнения 100%.
Чтобы привести его к нормальному виду надо все параметры записать константами, заипешься, их иногда под 40 штук бывает.

Если ты знаешь другой способ - охотно выслушаю.
16 YHVVH
 
07.02.13
00:57
(15) фиг знает
17 H A D G E H O G s
 
07.02.13
00:58
(4) Еще раз, медленно и печально...
Что надо сделать?
18 zladenuw
 
07.02.13
01:05
при записи документа. нужно проверить по всем документам  или нет таких же данных. ключ с 5 реквизитов 1 документа, 4 в ТЧ.
19 H A D G E H O G s
 
07.02.13
01:08
(18) А ты суровый парень.
20 H A D G E H O G s
 
07.02.13
01:11
Тебе поможет CRC32
21 H A D G E H O G s
 
07.02.13
01:12
Сделай CRC32 на основе ну хотя бы текстового представления полей и записывай в отдельное индексированное поле шапки документа. По нему и ищи.
22 H A D G E H O G s
 
07.02.13
01:14
А вот если найдешь такой CRC32 - все равно проверяй поля этого документа и найденного, ибо:

wiki:Хеширование

Если у двух строк хеш-коды разные, строки гарантированно различаются, если одинаковые — строки, вероятно, совпадают.
23 H A D G E H O G s
 
07.02.13
01:15
24 zladenuw
 
07.02.13
01:17
спасибо
25 mistеr
 
07.02.13
01:36
(21) Зачем такие ужасы?

(18) При проведении записывай эти реквизиты в РС в качестве измерений. Проверка - проще некуда.
26 zladenuw
 
07.02.13
01:39
да там народу  и база огого
27 zladenuw
 
07.02.13
01:39
под 100, 140 гб. 8.1.13 вроде как :)
28 zladenuw
 
07.02.13
01:40
(25) лишняя таблица
29 zladenuw
 
07.02.13
01:42
завтра только посмотреть смогу :(.
(22) но за идею еще раз спасибо.
30 zladenuw
 
07.02.13
01:43
v8: Profiler 1cv8. Enterprise Integrator.
то что надо :)
31 H A D G E H O G s
 
07.02.13
01:44
(30) Освоил?
Я вот поставил - и некогда.
По старинке быстрее в профайлер залесть.
32 zladenuw
 
07.02.13
01:45
(31) так завтра только смогу :)
33 mistеr
 
07.02.13
01:55
(28) Кушать просит?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой