Имя: Пароль:
1C
1С v8
Виснет запрос
0 rat_poison
 
12.09.11
15:20
Стоит Бухгалтерия 1.5, платформа 8.2
Почему может зависать такой запрос?
ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ РегистрБухгалтерии.ДвиженияССубконто КАК ТаблицаОбъекта
1 Ненавижу 1С
 
гуру
12.09.11
15:22
потому что много данных
2 rat_poison
 
12.09.11
15:29
но ведь я выбираю всего одну запись
3 Chin
 
12.09.11
15:31
Сделай тестирование и исправлнение с переиндексацией, авось поможет!
4 Axel2009
 
12.09.11
15:45
а
ВЫБРАТЬ ПЕРВЫЕ 1 Период, Регистратор ИЗ РегистрБухгалтерии.ДвиженияССубконто КАК ТаблицаОбъекта
также зависает?
5 Axel2009
 
12.09.11
15:46
ЗЫ, а где имя регистра бухгалтерии то?
6 mzelensky
 
12.09.11
15:52
(0) мне кажется сперва все-таки запрос выбирает ВСЕ ДАННЫЕ, а уж потом берет ПЕРВУЮ СТРОЧКУ!

П,С, исхожу из логики - например имеется запрос с конструкцией ПЕРВЫЕ 1 + с группировкой, условием и упорядочиванием...ведь все-таки руппировка, условием и упорядочивание выполняются!!! А это нельзя сделать, если не выбрать ВСЕ ДАННЫЕ!!! А уж потом взять ПЕРВУЮ СТРОКУ!

могу и ошибаться
7 proger2011
 
12.09.11
15:55
(6) А индексты тогда нахера. Неее... выбирается одна согласно индексу
8 Axel2009
 
12.09.11
15:57
(7) выбирается первая строка согласно тому, что удобно серверу. и точка
9 mzelensky
 
12.09.11
16:00
(7) элементарно проверяется!!! делаешь любую выборку со всем что я написал: "с группировкой, условием и упорядочиванием" ,  смотришь результат...а потом добавляешь "ПЕРВЫЕ 1" и смотришь результат. Если строка в первом и втором случае одинаковы, то вы, сударь ,говорите бред!
10 proger2011
 
12.09.11
16:02
(9) Да ясен ... что для твоего запроса нужны данные, я в (7) вроде про (0) говорю

ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ РегистрБухгалтерии.ДвиженияССубконто КАК ТаблицаОбъекта
11 mzelensky
 
12.09.11
16:03
(9) + проверил! Моя догадка оправдалась - в обоих случаях результат один и тот же...вне зависимости от того, куда я кручу упорядочивание (разумеется упорядочивание в первом и втором случае одинаковые)
12 acsent
 
12.09.11
16:05
ДвиженияССубконто - это виртуальная таблица
13 proger2011
 
12.09.11
16:07
(11) Вот этот запрос тоже все данные тянет, миллионы записей

ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ РегистрБухгалтерии.ДвиженияССубконто КАК ТаблицаОбъекта


Если так то 1С на помойку однозначно.
14 mzelensky
 
12.09.11
16:10
(13) запустил этот запрос - запрос висит...следовательно могу сделать вывод, что там явно не просто первая строчка берется
15 acsent
 
12.09.11
16:11
(13) Этот запрос разворачивается в
ВЫБРАТЬ ПЕРВЫЕ 1 * ИЗ (ВЫБРАТЬ * ИЗ ...)
16 mzelensky
 
12.09.11
16:14
(15) Согласен! и это подтверждает (9), (11)
17 mzelensky
 
12.09.11
16:15
(13) поэтому - "1С на помойку однозначно" :)
18 rat_poison
 
12.09.11
16:32
Всем спс! установил период и чем он меньше, тем быстрее выполняется запрос => присоединяюсь к (17) :D
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший