|
v7: Осваиваю прямые запросы в 7.7 | ☑ | ||
---|---|---|---|---|
0
zenon46
16.07.18
✎
09:19
|
Доброго дня! Есть конфа комплексная 7.7, база уже 34 гига, крутится на SQL сервере, в качестве саморазвития, захотел изучить вопрос прямых запросов к БД. Прошу сильно не пинать, если будут глупые вопросы, почитал по этому поводу несколько статей, и решил заменить, некоторые простые запросы к справочникам. Вопрос в том, будет ли быстрей на таких простых запросах. Для примера ниже, обычный и прямой. Еще не понятно, есть в таких запросах группировки как в "классических" 1с запросах ? Может кто подкинет дельных ссылок где можно изучить этот вопрос.
RS = СоздатьОбъект("ODBCRecordset"); RS.УстБД1С(); ТекстЗапроса = " |SELECT | Спр.Code as Код, | Спр.Descr as Наименование |FROM | $Справочник.Номенклатура as Спр"; Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = " |КодН = Справочник.Номенклатура.Код; |НаименН = Справочник.Номенклатура.Наименование; |Группировка НаименН; |"; |
|||
1
VladZ
16.07.18
✎
09:33
|
||||
2
1Сергей
16.07.18
✎
09:35
|
>>Вопрос в том, будет ли быстрей на таких простых запросах
быстрее будет простой выборкой >>есть в таких запросах группировки как в "классических" 1с запросах ? Группировки есть |
|||
3
Boroda
16.07.18
✎
09:37
|
Если научиться работать с профайлером - то воообще круто!
Вот первая же ссылка, что попалась: http://catalog.mista.ru/public/291874/ - Анализ запросов с помощью SQL Profiler Если посмотреть именно этот 1с запрос в профайлере, то думаю, разницы не увидишь. |
|||
4
Boroda
16.07.18
✎
09:41
|
В дополнение к (3)
Будет разница! :) Не обратил внимания что нет группировки в прямом запросе - GROUP BY Спр.Descr |
|||
5
zenon46
16.07.18
✎
09:46
|
(4) т.е. получается в таких запросах как я привел, разницы не будет. Тогда в каких будет, где идет работа с регистрами ?
|
|||
6
Sserj
16.07.18
✎
09:49
|
(5) Еще как будет, если много пользователей и добавишь немножко текста:
" |FROM | $Справочник.Номенклатура as Спр with (nolock) " Только почитай документацию что это дает и когда этого делать нельзя. |
|||
7
НоваяВолна
16.07.18
✎
09:52
|
(0) Будь мужиком, пиши прямые запросы к БД. Встроенный язык запросов 1С 7.7 кривое подобие запросов имхо)))
|
|||
8
youalex
16.07.18
✎
09:54
|
||||
9
Эльниньо
16.07.18
✎
10:06
|
(5) Если нужны остатки на ТА, то лучше Рег.ВыгрузитьИтоги() и Рег.СводныйОстаток().
А если не на ТА, тогда ощутимая разница |
|||
10
Владимир1С
16.07.18
✎
10:29
|
||||
11
Владимир1С
16.07.18
✎
10:31
|
||||
12
opus70
16.07.18
✎
10:38
|
(2) однозначно почти всегда прямой запрос быстрей чем 1с
особенно на проведениях и на отчетах минус только один сложно писать и после тебя никто не разбереться |
|||
13
zenon46
16.07.18
✎
10:39
|
(12) на проведениях - переделывать модули проведения документов ?
|
|||
14
Aleksey
16.07.18
✎
10:48
|
(13) высший пилотаж переписать на тригерах SQL модуль проведения, а от 1С оставить только формы
|
|||
15
Aleksey
16.07.18
✎
10:49
|
но о уровню трудозатрат и онанизма это превосходит даже переход на 8-ку
|
|||
16
Владимир1С
16.07.18
✎
10:52
|
(0) В отладчике замерь самые длинные места, и их оптимизируй.
|
|||
17
Владимир1С
16.07.18
✎
10:54
|
(0) в отчётах ни в коем случае не тяни ссылки НА ФОРМЫ.
|
|||
18
Владимир1С
16.07.18
✎
10:57
|
(13) Есть способ отложенного проведения. Или, по простому, то, что будет актуально только после окончания рабочего времени, получать по закрытию смены. То есть в оперативном режиме грузить систему исключительно данными, необходимыми для оперативной работы.
|
|||
19
Владимир1С
16.07.18
✎
10:58
|
(15) Зато классность специалиста сразу на 2-3 порядка поднимется.
|
|||
20
zenon46
16.07.18
✎
11:03
|
(19) это наверняка, только 7.7 уходит постепенно, скорей придется богомерзкие УФ изучать.
|
|||
21
Владимир1С
16.07.18
✎
11:04
|
(20) Так ведь это будет уже спец по SQL, так и в 8х прямые запросы работают быстрее. Но, уже не во всех случаях.
|
|||
22
1Сергей
16.07.18
✎
11:05
|
(21) Были прецеденты перевода всех запросов в снеговике на скульные?
|
|||
23
Владимир1С
16.07.18
✎
11:07
|
(21) Всех - нет. Отдельные, где требовалось выйти за рамки 1С - выдать данные наружу через SQL.
|
|||
24
Sasha_H
16.07.18
✎
11:10
|
(0) пора осваивать уже 8.3
|
|||
25
opus70
16.07.18
✎
11:11
|
(13) да
но если лень тол ищи toysql купи всемодули для ТИС и все отчеты и решишь за самое короткое время свои проблемы правда там не 1c++ а немножко другой синтаксис но основа таже и в паре они прекрасно работают тоже в любом случаее это дешевле чем переходить на УФ в варианте 8.х.х |
|||
26
Владимир1С
16.07.18
✎
11:13
|
(0) 1С++, надеюсь, уже включено в базе?
|
|||
27
zenon46
16.07.18
✎
11:14
|
(26) ))) включено
|
|||
28
Sasha_H
16.07.18
✎
11:15
|
(0) еще есть ToySQL давно в бородатые времена им пользовался он более синтаксичен по отношеник 1С++
А в целом пофиг если вы работали с запросами T-SQL |
|||
29
Владимир1С
16.07.18
✎
11:17
|
(0) переменные среды и каталоги временных файлов переведены на РАМ диск в ОЗУ?
|
|||
30
opus70
16.07.18
✎
11:17
|
(28) плюс последнего в том что у павла были все стандартные модули уже переписаны т.е. очень быстрое внедрение буквально неделя две и все летало
а переписывать все на 1c++ это как минимум на полгода приключений |
|||
31
Владимир1С
16.07.18
✎
11:19
|
(0) Подключение клиентов по сети или RDP ?
|
|||
32
zenon46
16.07.18
✎
11:19
|
(29) нет, там сервер Windows2003 c 4-я гагами ОЗУ, ему отроду 12 лет уже. Тянут только SAS диски.
|
|||
33
zenon46
16.07.18
✎
11:20
|
(31) сетевое
|
|||
34
Владимир1С
16.07.18
✎
11:23
|
(33) Переделай на RDP, для временных файлов пользователей поставь SSD,побыстрее(SSD).
|
|||
35
Владимир1С
16.07.18
✎
11:27
|
Ещё есть аппаратные RAM диски, но это уже смотря по обстоятельствам.
|
|||
36
zenon46
16.07.18
✎
11:28
|
(34) не RDP не хочу да и пользоватлей обучать тоже нет на это времени, сеть гигабитная, в принципе пока производительность сносная, выполняются долго отчеты плюсом иногда вываливаются транзакции.
Каталог пользователей перенести ? |
|||
37
Владимир1С
16.07.18
✎
11:29
|
||||
38
Злопчинский
16.07.18
✎
11:30
|
ну.... типовой остаткиТМЦ отчет на прямых запросах есть на Инфостарте...
|
|||
39
Владимир1С
16.07.18
✎
11:31
|
(36) Сделай для 3-х пользователей, увидишь результат, тогда и решишь. У меня коммерческие клиенты все на такой связке сидят.
|
|||
40
Владимир1С
16.07.18
✎
12:00
|
(36) Перенос каталога временных файлов имеет смысл, если только он будет на физически отдельном носителе.
|
|||
41
opus70
16.07.18
✎
12:31
|
http://www.1csql.ru/action/products/buyec7a.html?itemid=7fdc7a9f-543a-15ec-3a10-79b72e2ec181
+ http://www.1csql.ru/action/products/buy3d58.html?itemid=d9b27442-98d5-3b6f-551a-7e8e0ff19afe всего 32000 по нынешним меркам тебе больше за мелкие услуги и самое главное один раз и на всегда |
|||
42
opus70
16.07.18
✎
12:32
|
если проблему можно решить заденьги то ее всегда нужно решать за деньги и экономить свои нервы итакдалее
|
|||
43
opus70
16.07.18
✎
12:45
|
притом это реально решит твою проблему ускорения до 10х обеспечено не везде но практически везде
и проживет твоя база еще так лет 10 пока железка не зздохнет |
|||
44
Владимир1С
16.07.18
✎
14:47
|
(0) Хорошо бы , до кучи, посмотреть функции, привязанные к формам. Насколько часто и оправданно они вызываются.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |