|
Оптимизация запроса для получения кол-ва документов. | ☑ | ||
---|---|---|---|---|
0
Teslo-
27.08.12
✎
12:39
|
Доброе время суток!
Есть запрос вида: ВЫБРАТЬ &База, Таблица.Ссылка.Проведен, КОЛИЧЕСТВО(&База) КАК Количество ИЗ Документ.[Имя документа] КАК Таблица ГДЕ Таблица.Ссылка.Дата МЕЖДУ [Значение1 из формы] КОНЕЦПЕРИОДА([Значение2 из формы],ДЕНЬ) И Таблица.Ссылка.Проведен СГРУППИРОВАТЬ ПО &База Таблица.Ссылка.Проведен Суть в том , что этот запрос перебирает все документы в базе с признаком проведения и выдает кол-во. В принципе мне кол-во нужно, но не всегда. Вопрос такой: Есть ли какой-нибудь способ получать данные о существовании документов , вида "Да\Нет", без перебора(например параметры журнала, или просто "при если есть хоть 1 документ вернуть "ДА"" ). |
|||
1
iceman2112
27.08.12
✎
12:51
|
а ты здесь разве их перебираешь потом? если тебя смущает что делаешь выборку большую то можешь делать не ВЫБРАТЬ, а ВЫБРАТЬ ПЕРВЫЙ 1
|
|||
2
iceman2112
27.08.12
✎
12:52
|
если тебе нужно количество то зачем выбираешь &База, Таблица.Ссылка.Проведен?
|
|||
3
H A D G E H O G s
27.08.12
✎
12:53
|
Таблица.Ссылка.
Это что за лютый писец №1? |
|||
4
H A D G E H O G s
27.08.12
✎
12:53
|
МЕЖДУ [Значение1 из формы] КОНЕЦПЕРИОДА([Значение2 из формы]
Это что за лютый писец №2? |
|||
5
ILM
гуру
27.08.12
✎
12:55
|
(3) Лучше и не скажешь))))))))))))))
|
|||
6
Teslo-
27.08.12
✎
14:07
|
=)
(2) Мне не всегда нужно кол-во. Я просто использую для подсчета и поиска по базам 1 и тот же скрипт.Этот запрос находиться в теле скрипта для сборки инфы о кол-ве документов по всем базам(их ок. 100). Спасибо за ответ, по сути то что нужно. (3) Это обращения к реквизитам документа. Используя этот параметр я избегаю загрузки таблицы реквизитов. (4) Это установка временных ограничений, будут выбираться только документы созданные в этот период. (Квадратные скобки просто для понимания) |
|||
7
H A D G E H O G s
27.08.12
✎
14:15
|
Заменя текст
ВЫБРАТЬ &База, Таблица.ССЫЛКА.Проведен, КОЛИЧЕСТВО(&База) КАК Количество ИЗ Документ.[Имя документа] КАК Таблица ГДЕ Таблица.ССЫЛКА.Дата МЕЖДУ [Значение1 из формы] КОНЕЦПЕРИОДА([Значение2 из формы],ДЕНЬ) И Таблица.ССЫЛКА.Проведен СГРУППИРОВАТЬ ПО &База Таблица.ССЫЛКА.Проведен на текст ВЫБРАТЬ &База, Таблица.Проведен, КОЛИЧЕСТВО(&База) КАК Количество ИЗ Документ.[Имя документа] КАК Таблица ГДЕ Таблица.Дата МЕЖДУ [Значение1 из формы] КОНЕЦПЕРИОДА([Значение2 из формы],ДЕНЬ) И Таблица.Проведен СГРУППИРОВАТЬ ПО &База Таблица.Проведен ты получишь 100500 к производительности. |
|||
8
Teslo-
27.08.12
✎
14:31
|
(7)
Спасибо,мне нужно быть по внимательней. Ссылки обычно использую если есть если нужны вытащить что-то из табличной части документа. Документ.[Имя документа].[Имя таблицы] КАК Таблица А тут в это нет необходимости. |
|||
9
acsent
27.08.12
✎
14:32
|
зачем группировать?
|
|||
10
МишКа
27.08.12
✎
14:42
|
ВЫБРАТЬ Количество(*) ИЗ Документ.[ИмяДокумента]
ГДЕ... так пожалуй правильнее |
|||
11
Teslo-
27.08.12
✎
15:03
|
(10)
А если документ помечен на удаление,не проверен? Да и если выбрать чистый документ, то скорость упадет. |
|||
12
МишКа
27.08.12
✎
15:06
|
просто опустил условие
скорость не упадет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |