Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
14.01.2020, 11:14
|
|||
---|---|---|---|
|
|||
Помощь с PG SQL |
|||
#18+
Добрый день! Подскажите пожалуйста, в чем проблема? Есть запрос: select tou.title, count(distinct ts.title) from tbl_team te join tbl_servicecall ts on ts.responsibleteam_id=te.id join tbl_employee_teams et on te.id = et.teams_id join tbl_employee e on et.employee_id = e.id join tbl_ou tou on e.parent_id=tou.id where ts.state not in ('closed', 'resolved', 'negotiation', 'waiting') Group by tou.title Но он выполняется оч долго (более 60 сек), долго выполняется из-за оператора distinct, нужно ускорить выполнение. Пробовал написать рекурсивный запрос, но ругается на таблицу with recursive serv (title, title1, id) AS ( select tbl_ou.title, id as num from tbl_ou union all select tbl_ou.title, count(distinct tbl_servicecall.title), num+1 from tbl_team te join tbl_servicecall ts on tbl_servicecall.responsibleteam_id=tbl_team.id join tbl_employee_teams et on tbl_team.id = tbl_employee_teams.teams_id join tbl_employee e on tbl_employee_teams.employee_id = tbl_employee.id join tbl_ou tou on tbl_employee.parent_id=tbl_ou.id where tbl_servicecall.state not in ('closed', 'resolved', 'negotiation', 'waiting') ) select * from serv group by serv.title, serv.title1, serv.id Ошибка: недопустимая ссылка на запись предложения FROM для таблицы " вызов tbl_service" Строка 5: Соедините tbl_service call ts на вызове table_service.ответственный... ^ Подсказка: возможно, вы хотели сослаться на псевдоним таблицы "ts". SQL-состояние: 42p01 Символ: 205 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.01.2020, 14:46
|
|||
---|---|---|---|
|
|||
Помощь с PG SQL |
|||
#18+
Александр Кузьминов, А что с планом выполнения, индексы какие на таблицах, структура таблиц (ограничения и всё такое)? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.01.2020, 15:14
|
|||
---|---|---|---|
|
|||
Помощь с PG SQL |
|||
#18+
entrypoint, таблица должна состоять из 2х столбцов: первый текстовый, тип varchar, второй числовой, тип int Группа xxxxxxx 16 Группа xxxxxxx 37 Группа xxxxxxx 85 Группа xxxxxxx 242 Группа xxxxxxx 173 ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.01.2020, 15:24
|
|||
---|---|---|---|
|
|||
Помощь с PG SQL |
|||
#18+
Александр Кузьминов, Эх ((( Как минимум создайте индексы на Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.01.2020, 15:28
|
|||
---|---|---|---|
|
|||
Помощь с PG SQL |
|||
#18+
entrypoint, Пробовал с индексами, у меня почему-то при вызове рекурсивной функции на них ругается программа, если их заменить названиями таблицы - все работает. Разобрался, проблема была в написанном в конце запроса операторе Limit 100 - Почему-то из-за него он долго выполнялся) Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&mobile=1&tid=1994871]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 138ms |
0 / 0 |