|
|
|
СрезПоследних() на Postgre | ☑ | ||
|---|---|---|---|---|
|
0
milan
29.11.10
✎
14:40
|
Тестирую разные базы данных для перевода текущей файловой конфы на сервер предприятия. В отчетах часто юзается СрезПоследних(), скорость выполнения удручает.
Может кто-то сталкивался и нашел решение проблемы тормозов ? |
|||
|
1
Никола_
Питерский 29.11.10
✎
14:43
|
Постгри на чем ???
|
|||
|
2
igork1966
29.11.10
✎
14:45
|
(0) У постгресса серьезные проблемы оптимизации запросов в которых участвуют виртуальные таблицы. Соединения с ними просто ужасно тормозят.
Можно переделать |
|||
|
3
milan
29.11.10
✎
14:46
|
(1) win64, памяти 16, постгри последний с сайта 1С.
|
|||
|
4
igork1966
29.11.10
✎
14:47
|
(2) +1
для оптимизации таких запросов заюзайте временные таблицы с индексом подходящими для соединения. Это будет значительно быстрее соединиее сразу в запросе с виртуальной таблицей |
|||
|
5
igork1966
29.11.10
✎
14:48
|
(3) Почти 100% не поможет. Этой проблеме сто лет в обед...
|
|||
|
6
igork1966
29.11.10
✎
14:51
|
Еще возможно можно подкрутить параметры оптимизации запросов в постгрессе... но стабильного результата врят-ли добъетесь.
|
|||
|
7
milan
29.11.10
✎
14:53
|
(2) Как-то не айс переделывать запросы...
Потестим дб2, может он будет адекватнее. |
|||
|
8
igork1966
29.11.10
✎
14:53
|
(7) опыт показывает... что это не поможет.
|
|||
|
9
igork1966
29.11.10
✎
14:55
|
(8) аа... тфу ты про db2.. про него не знаю
PS. Но знаю что часть движка связанная с постгресоом, db2 и ораклом тестируется и оптимизируется явно хуже мелкосовтовскгого и собственного |
|||
|
10
milan
29.11.10
✎
14:56
|
А что именно там тормозит ??? строится не оптимальный план выполнения ??? чей это косяк 1С или постгри ?
|
|||
|
11
igork1966
29.11.10
✎
15:01
|
(10) трудно сказать... скорее всего оба виноваты...
|
|||
|
12
igork1966
29.11.10
✎
15:02
|
(11) + у постгри хреновый оптимизатор... а 1С неудачно использует постгресс...
|
|||
|
13
Fragster
гуру
29.11.10
✎
15:04
|
(12) у постгре нормальный оптимизатор, просто 1с не умеет юзать версионники
|
|||
|
14
igork1966
29.11.10
✎
15:04
|
(10) любопытно что я читал рекомендации 1С по оптимизации запросов... там в том числе было неписано и то что я написал... причем без относительно к базе
|
|||
|
15
igork1966
29.11.10
✎
15:05
|
(13) ну примерно так я и сказал
|
|||
|
16
Fragster
гуру
29.11.10
✎
15:05
|
(14) потому что при хитрых объединениях анализатор может все равно накосячить с планом запроса
|
|||
|
17
igork1966
29.11.10
✎
15:07
|
(16) согласен... просто с постгри это проявляется явнее
|
|||
|
18
mikecool
29.11.10
✎
15:08
|
таки на постгри и сортировка по умолчанию отличается.. напоролся как то
|
|||
|
19
Fragster
гуру
29.11.10
✎
15:11
|
(18) да, и все это написано в тоненькой книжице "1с предприятие 8.1 клиент-сервер. особенности установки и использования". и про то, что полное соединение у постгре тупит, и про то, что сортировки значений NULL отличаются...
|
|||
|
20
mikecool
29.11.10
✎
15:12
|
(19) я на это напаролся в типовой конфиге упп, где ни с того ни с сего вместо среза последнего выбиралось промежуточное значение...
|
|||
|
21
igork1966
29.11.10
✎
15:14
|
(3) Кстати насчет 64бита...
32битный сервер предприятия при выполнении запроса, результат которого превышает ~ 1G уходит в даун. На MS SQL не повторял... только на postgress |
|||
|
22
milan
29.11.10
✎
15:16
|
(21) Сервер 1с 64 бит, а вот постгри 32, под винду на сайте 64 версии нет
|
|||
|
23
igork1966
29.11.10
✎
15:17
|
(22) я про сервер 1С.. он усиленно кушал память при обработке запроса....
|
|||
|
24
DmitrO
29.11.10
✎
15:35
|
Тут вообще-то не 1C виновата (имеется в виду платформа), проблема состоит в том, что оптимизатор postgre не умеет вносить условия связи в подзапросы, а mssql умеет.
1С виновата только в том что разрабатывая типовые конфигурации при разработке запросов почти нигде не учитывает эту проблему. Запрос можно переписать, это решит проблему но запрос будет ощутимо сложнее (больше кода - больше ошибок). |
|||
|
25
Fragster
гуру
29.11.10
✎
16:44
|
(24) вынести запрос к вирутальной таблице во временную - это ощутимо сложнее?
|
|||
|
26
Ненавижу 1С
гуру
29.11.10
✎
16:46
|
у 1С серьезные проблемы с реализацией периодических РС, нет альтернативы реализации
|
|||
|
27
DmitrO
29.11.10
✎
20:23
|
(25) я вообще-то имел в виду не это решение (не вынос во временную), но и это решение ощутимо усложняет код запроса по сравнению с простым соединением со срезом последних.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |