|
|
|
Почему Внешние источники данных работает медленее COM-соединения | ☑ | ||
|---|---|---|---|---|
|
0
ИС-2
21.04.14
✎
08:24
|
Есть база с 1 РС (период, 3 измерения строка(36)). К ней подключался через внешний источники данных.
В начале, когда было мало данных, запрос через внешний источники данных работал быстро. По мере накопления данных стал работать медленнее. Сейчас переписал на подключение к базе через COM - стало летать. В чем причина такой тормознутости? Запрос остался тем же... |
|||
|
1
NcSteel
21.04.14
✎
08:27
|
так как это нарушение лицензионного соглашения.
|
|||
|
2
shuhard
21.04.14
✎
08:31
|
(0) тормоз ты - забыл индексы
|
|||
|
3
ИС-2
21.04.14
✎
08:40
|
(2) а какая разница? И там и индексы одинаковые. Вопрос в том, почему 2 технологии так сильно различаются по скорости работы
|
|||
|
4
NcSteel
21.04.14
✎
08:44
|
разницы по скорости нет, есть разница в исполняемом запросе - показывай оба.
|
|||
|
5
ИС-2
21.04.14
✎
09:03
|
вот внешний источник данных:
"ВЫБРАТЬ | ДАТАВРЕМЯ(1, 1, 1) КАК Период, | dbo__InfoRg8._Period КАК Период4000, | ДобавитьКДате(dbo__InfoRg8._Period,день,-730000) как ПериодСмещение, // | ДобавитьКДате(dbo__InfoRg8._Fld16,год,2000) КАК Период_Минус2000, | dbo__InfoRg8._Fld14 КАК Контрагент_GUID, | dbo__InfoRg8._Fld15 КАК Отдел_GUID, | dbo__InfoRg8._Fld9 КАК Организация_GUID, | dbo__InfoRg8._Fld10 КАК СуммаПросрочено, | dbo__InfoRg8._Fld11 КАК КоличествоДнейПросрочено, | dbo__InfoRg8._Fld12 КАК СуммаДолга |ИЗ | ВнешнийИсточникДанных._БазаИстории.Таблица.dbo__InfoRg8 КАК dbo__InfoRg8 |ГДЕ | выбор когда &ДнейПросрочено = 0 тогда истина иначе dbo__InfoRg8._Fld11 >= &ДнейПросрочено конец | И выбор когда &ОтборПоКонтрагентам тогда dbo__InfoRg8._Fld14 В(&МассивКонтрагент_GUID) иначе истина конец | И выбор когда &ОтборПоОтделу тогда dbo__InfoRg8._Fld15 В(&МассивОтделов_GUID) иначе истина конец | И выбор когда &ОтборПоОрганизации тогда dbo__InfoRg8._Fld9 В(&МассивОрганизаций_GUID) иначе истина конец // | и dbo__InfoRg8._Fld16 между &ДатаНач и &ДатаКон "; | И ДобавитьКДате(dbo__InfoRg8._Period,день,-730000) МЕЖДУ &ДатаНач4000 И &ДатаКон4000"; |
|||
|
6
ИС-2
21.04.14
✎
09:04
|
запрос к com
"ВЫБРАТЬ | _ПросроченнаяЗадолженностьПоДокументам.Период, | _ПросроченнаяЗадолженностьПоДокументам.Контрагент_GUID, | _ПросроченнаяЗадолженностьПоДокументам.Отдел_GUID, | _ПросроченнаяЗадолженностьПоДокументам.Организация_GUID, | _ПросроченнаяЗадолженностьПоДокументам.СуммаПросрочено, | _ПросроченнаяЗадолженностьПоДокументам.КоличествоДнейПросрочено, | _ПросроченнаяЗадолженностьПоДокументам.СуммаДолга, | _ПросроченнаяЗадолженностьПоДокументам.ЭтоИзменениеЗаписей, | _ПросроченнаяЗадолженностьПоДокументам.ИнформацияОбИзмененииЗаписей, | _ПросроченнаяЗадолженностьПоДокументам.Контрагент, | _ПросроченнаяЗадолженностьПоДокументам.Организация, | _ПросроченнаяЗадолженностьПоДокументам.Отдел |ИЗ | РегистрСведений._ПросроченнаяЗадолженностьПоДокументам КАК _ПросроченнаяЗадолженностьПоДокументам |ГДЕ | ВЫБОР | КОГДА &ДнейПросрочено = 0 | ТОГДА ИСТИНА | ИНАЧЕ _ПросроченнаяЗадолженностьПоДокументам.КоличествоДнейПросрочено >= &ДнейПросрочено | КОНЕЦ | И ВЫБОР | КОГДА &ОтборПоКонтрагентам | ТОГДА _ПросроченнаяЗадолженностьПоДокументам.Контрагент_GUID В (&МассивКонтрагент_GUID) | ИНАЧЕ ИСТИНА | КОНЕЦ | И ВЫБОР | КОГДА &ОтборПоОтделу | ТОГДА _ПросроченнаяЗадолженностьПоДокументам.Отдел_GUID В (&МассивОтделов_GUID) | ИНАЧЕ ИСТИНА | КОНЕЦ | И ВЫБОР | КОГДА &ОтборПоОрганизации | ТОГДА _ПросроченнаяЗадолженностьПоДокументам.Организация_GUID В (&МассивОрганизаций_GUID) | ИНАЧЕ ИСТИНА | КОНЕЦ | И _ПросроченнаяЗадолженностьПоДокументам.Период МЕЖДУ &ДатаНач И &ДатаКон"; |
|||
|
7
NcSteel
21.04.14
✎
09:05
|
Уже минимум:
| ДобавитьКДате(dbo__InfoRg8._Period,день,-730000) как ПериодСмещение, есть различия, ты хоть запросы приведи к одному виду, что бы говорить о различной скорости. |
|||
|
8
ИС-2
21.04.14
✎
09:08
|
(7) это проблема со смешением дат - вместо 2012 отображается 4012
|
|||
|
9
ДенисЧ
21.04.14
✎
09:10
|
(8) И что? Запросы - то разные
|
|||
|
10
ИС-2
21.04.14
✎
09:15
|
не исключено, что оптимизатор не может обработать
ДобавитьКДате(dbo__InfoRg8._Period,день,-730000) но не на столько же |
|||
|
11
NcSteel
21.04.14
✎
09:21
|
(10) У тебя фактически доп цикл в запросе. Что ты еще хочешь...
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |