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


1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Осваиваю прямые запросы в 7.7

v7: Осваиваю прямые запросы в 7.7
Я
   zenon46
 
16.07.18 - 09:19
Доброго дня! Есть конфа комплексная 7.7, база уже 34 гига, крутится на SQL сервере, в качестве саморазвития, захотел изучить вопрос прямых запросов к БД. Прошу сильно не пинать, если будут глупые вопросы, почитал по этому поводу несколько статей, и решил заменить, некоторые простые запросы к справочникам. Вопрос в том, будет ли быстрей на таких простых запросах. Для примера ниже, обычный и прямой. Еще не понятно, есть в таких запросах группировки как в "классических" 1с запросах ? Может кто подкинет дельных ссылок где можно изучить этот вопрос.


    RS = СоздатьОбъект("ODBCRecordset");
    RS.УстБД1С();
    ТекстЗапроса = "
    |SELECT
    |    Спр.Code as Код,
    |    Спр.Descr as Наименование
    |FROM
    |    $Справочник.Номенклатура as Спр";
    

    
        Запрос = СоздатьОбъект("Запрос");
        ТекстЗапроса = "
        |КодН = Справочник.Номенклатура.Код;
        |НаименН = Справочник.Номенклатура.Наименование;
    |Группировка НаименН;
    |";
 
 
   VladZ
 
1 - 16.07.18 - 09:33
   1Сергей
 
2 - 16.07.18 - 09:35
>>Вопрос в том, будет ли быстрей на таких простых запросах

быстрее будет простой выборкой


>>есть в таких запросах группировки как в "классических" 1с запросах ?

Группировки есть
   Boroda
 
3 - 16.07.18 - 09:37
Если научиться работать с профайлером -  то воообще круто!
Вот первая же ссылка, что попалась:
http://catalog.mista.ru/public/291874/ - Анализ запросов с помощью SQL Profiler

Если посмотреть именно этот 1с запрос в профайлере, то думаю, разницы не увидишь.
   Boroda
 
4 - 16.07.18 - 09:41
В дополнение к (3) 
Будет разница! :)  
Не обратил внимания что нет группировки в прямом запросе - GROUP BY Спр.Descr
   zenon46
 
5 - 16.07.18 - 09:46
(4) т.е. получается в таких запросах как я привел, разницы не будет. Тогда в каких будет, где идет работа с регистрами ?
   Sserj
 
6 - 16.07.18 - 09:49
(5) Еще как будет, если много пользователей и добавишь немножко текста:

"
|FROM
|    $Справочник.Номенклатура as Спр with (nolock)
"
Только почитай документацию что это дает и когда этого делать нельзя.
   НоваяВолна
 
7 - 16.07.18 - 09:52
(0) Будь мужиком, пиши прямые запросы к БД. Встроенный язык запросов 1С 7.7 кривое подобие запросов имхо)))
   youalex
 
8 - 16.07.18 - 09:54
   Эльниньо
 
9 - 16.07.18 - 10:06
(5) Если нужны остатки на ТА, то лучше Рег.ВыгрузитьИтоги() и Рег.СводныйОстаток().
А если не на ТА, тогда ощутимая разница
   Владимир1С
 
10 - 16.07.18 - 10:29
 
 Рекламное место пустует
   Владимир1С
 
11 - 16.07.18 - 10:31
   opus70
 
12 - 16.07.18 - 10:38
(2) однозначно почти всегда прямой запрос быстрей чем 1с
особенно на проведениях и на отчетах
минус только один сложно писать и после тебя никто не разбереться
   zenon46
 
13 - 16.07.18 - 10:39
(12) на проведениях - переделывать модули проведения документов ?
   Aleksey
 
14 - 16.07.18 - 10:48
(13) высший пилотаж переписать на тригерах SQL модуль проведения, а от 1С оставить только формы
   Aleksey
 
15 - 16.07.18 - 10:49
но о уровню трудозатрат и онанизма это превосходит даже переход на 8-ку
   Владимир1С
 
16 - 16.07.18 - 10:52
(0) В отладчике замерь самые длинные места, и их оптимизируй.
   Владимир1С
 
17 - 16.07.18 - 10:54
(0) в отчётах ни в коем случае не тяни ссылки НА ФОРМЫ.
   Владимир1С
 
18 - 16.07.18 - 10:57
(13) Есть способ отложенного проведения. Или, по простому, то,  что будет актуально только после окончания рабочего времени, получать по закрытию смены. То есть в оперативном режиме грузить систему исключительно данными, необходимыми для оперативной работы.
   Владимир1С
 
19 - 16.07.18 - 10:58
(15) Зато классность специалиста сразу на 2-3 порядка поднимется.
   zenon46
 
20 - 16.07.18 - 11:03
(19) это наверняка, только 7.7 уходит постепенно, скорей придется богомерзкие УФ изучать.
   Владимир1С
 
21 - 16.07.18 - 11:04
(20) Так ведь это будет уже спец по SQL, так и в 8х прямые запросы работают быстрее. Но, уже не во всех случаях.
   1Сергей
 
22 - 16.07.18 - 11:05
(21) Были прецеденты перевода всех запросов в снеговике на скульные?
   Владимир1С
 
23 - 16.07.18 - 11:07
(21) Всех - нет. Отдельные, где требовалось выйти за рамки 1С - выдать данные наружу через SQL.
   Sasha_H
 
24 - 16.07.18 - 11:10
(0) пора осваивать уже 8.3
   opus70
 
25 - 16.07.18 - 11:11
(13) да
но если лень тол ищи toysql купи всемодули для ТИС и все отчеты и решишь за самое короткое время свои проблемы
правда там не 1c++ а немножко другой синтаксис но основа таже  и в паре они прекрасно работают тоже

в любом случаее это дешевле чем переходить на УФ в варианте 8.х.х
   Владимир1С
 
26 - 16.07.18 - 11:13
(0) 1С++, надеюсь, уже включено в базе?
   zenon46
 
27 - 16.07.18 - 11:14
(26) ))) включено
   Sasha_H
 
28 - 16.07.18 - 11:15
(0) еще есть ToySQL давно в бородатые времена им пользовался он более синтаксичен по отношеник 1С++

А в целом пофиг если вы работали с запросами T-SQL
   Владимир1С
 
29 - 16.07.18 - 11:17
(0) переменные среды и каталоги временных файлов переведены на РАМ диск в ОЗУ?
   opus70
 
30 - 16.07.18 - 11:17
(28) плюс последнего в том что у павла были все стандартные модули уже переписаны т.е. очень быстрое внедрение буквально неделя две и все летало
а переписывать все на 1c++ это как минимум на полгода приключений
   Владимир1С
 
31 - 16.07.18 - 11:19
(0) Подключение клиентов по сети или RDP ?
   zenon46
 
32 - 16.07.18 - 11:19
(29) нет, там сервер Windows2003 c 4-я гагами ОЗУ, ему отроду 12 лет уже. Тянут только SAS диски.
   zenon46
 
33 - 16.07.18 - 11:20
(31) сетевое
 
 
   Владимир1С
 
34 - 16.07.18 - 11:23
(33) Переделай на RDP, для временных файлов пользователей поставь SSD,побыстрее(SSD).
   Владимир1С
 
35 - 16.07.18 - 11:27
Ещё есть аппаратные RAM диски, но это уже смотря по обстоятельствам.
   zenon46
 
36 - 16.07.18 - 11:28
(34) не RDP не хочу да и пользоватлей обучать тоже нет на это времени, сеть гигабитная, в принципе пока производительность сносная, выполняются долго отчеты плюсом иногда вываливаются транзакции.
Каталог пользователей перенести ?
   Владимир1С
 
37 - 16.07.18 - 11:29
   Злопчинский
 
38 - 16.07.18 - 11:30
ну.... типовой остаткиТМЦ отчет на прямых запросах есть на Инфостарте...
   Владимир1С
 
39 - 16.07.18 - 11:31
(36) Сделай для 3-х пользователей, увидишь результат, тогда и решишь. У меня коммерческие клиенты все на такой связке сидят.
   Владимир1С
 
40 - 16.07.18 - 12:00
(36) Перенос каталога временных файлов имеет смысл, если только он будет на физически отдельном носителе.
   opus70
 
41 - 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 по нынешним меркам тебе больше за мелкие услуги
и самое главное один раз и на всегда
   opus70
 
42 - 16.07.18 - 12:32
если проблему можно решить заденьги то ее всегда нужно решать за деньги и экономить свои нервы итакдалее
   opus70
 
43 - 16.07.18 - 12:45
притом это реально решит твою проблему ускорения до 10х обеспечено не везде но практически везде
и проживет твоя база еще так лет 10 пока железка не зздохнет
   Владимир1С
 
44 - 16.07.18 - 14:47
(0) Хорошо бы , до кучи, посмотреть функции, привязанные к формам. Насколько часто и оправданно они вызываются.


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