Имя: Пароль:
1C
1С v8
Производительность запроса.
,
0 Ministr
 
15.04.14
14:23
Задумался об производительности, как быстрее будет работать запрос , если один раз скинуть данные в виртуальную таблицу а затем потом оттуда выбирать три различных варианта, или брать 3 раза подряд из виртуальной таблицы оборотов регистра накопления , при различных условиях? Но условия везде накладываются в "ГДЕ" потому что условие на регистратор...
Я сделал первым вариантом.
(параметров виртуальной таблицы нету, ну или везде одинаковые)
1 Maxus43
 
15.04.14
14:26
от объёма данных зависит, скорее быстрей будет 2-й, чем держать здоровенную ВТ
2 Dionis Sergeevich
 
15.04.14
14:28
Замер производительности сделай просто.
3 miron25
 
15.04.14
14:29
(2)Дык в некоторых 1с  нет как синтаксис помощника,так и замеров...
4 МихаилМ
 
15.04.14
14:30
"скинуть данные в виртуальную таблицу"

виртуальную с временной путаете.
5 miron25
 
15.04.14
14:31
(4)Лучше брать с витруальной,чем с временной.(1)прав.
6 Ministr
 
15.04.14
14:32
(4) Согласен путаю. но смысл все поняли верно.
(2) замер производительности - это интересная тема, так как в первый раз ты данные считываешь в КЭШ и далее запрос может отработать в десятки раз быстрее. за счет данных в КЭШе , чем в первый раз, так что замер производительности правдив только в первом случае во втором третем и так далее... не показатель.
7 МихаилМ
 
15.04.14
14:39
(6)
очищайте кэш коли нужно.

писать о производительности запроса и не написать о версии субд и 1с8 глупо.
8 dk
 
15.04.14
14:46
второй вариант +1
---
у виртуалок уже есть индексы а у времянки их строить придется
9 Dionis Sergeevich
 
15.04.14
14:50
все равно мерять надо. Если данные во временную таблицу собираются из кучи других таблиц то проще в вт поместить. Так что вполне может быть как1 вариант так и 2. Проверить проще
10 WildSery
 
15.04.14
14:53
(0) Если во временную таблицу отбирать только те данные, которые потом будут 3 раза считываться, и это не миллион записей, то однозначно через временную таблицу.

(8) Не преувеличивайте ценность индексов. Во многих сценариях использования временных таблиц они нахрен не нужны.
11 andreynikus
 
15.04.14
15:55
Что бы выяснить точно нужен только замер, т.к. нет универсального ответа.
Все зависит от:
- объема данных
- версии платформы
- типа СУБД

Проведите замер и все станет ясно.
12 WildSery
 
16.04.14
11:14
(11) Что именно зависит от версии платформы? Трансляцию псевдо-SQL в "настоящий" SQL, насколько мне видно, не переделывалась много лет. Мелкие правки, типа добавления функции, не в счёт, на производительность не влияет.
13 andreynikus
 
17.04.14
10:29
(12) Трансляция в SQL переделывается и она же может зависеть от типа СУБД.
Некоторые запросы в разные СУБД транслируются по разному.
14 WildSery
 
17.04.14
10:40
(13) Вы правы, и в то же время ошибаетесь.
Трансляцией в "разные СУБД" занимается отдельный "фильтр", исходный запрос формируется одинаково и слабо зависит от версии платформы.
15 andreynikus
 
26.04.14
22:33
(14)
Ключевое слово в (13) "некоторые"
В большинстве случаев запросы одинаковы, но не всегда
16 Armando
 
26.04.14
23:00
Я бы на тексты запросов посмотрел для начала
17 mistеr
 
27.04.14
09:17
(12) Откуда это известно, поделитесь. Мне, например, известно (из замечаний к релизам), что постоянно идет оптимизация под конкретные СУБД и поддержка их новых версий.
18 hhhh
 
27.04.14
09:35
(14) скажем пакетные запросы, временные таблицы. Попробуйте запустить на платформе 8.1. Слегка удивитесь.
Независимо от того, куда вы едете — это в гору и против ветра!