|
Помощь с 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, 11:14 |
|
Помощь с PG SQL
|
|||
---|---|---|---|
#18+
Александр Кузьминов, А что с планом выполнения, индексы какие на таблицах, структура таблиц (ограничения и всё такое)? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2020, 14:46 |
|
Помощь с PG SQL
|
|||
---|---|---|---|
#18+
entrypoint, таблица должна состоять из 2х столбцов: первый текстовый, тип varchar, второй числовой, тип int Группа xxxxxxx 16 Группа xxxxxxx 37 Группа xxxxxxx 85 Группа xxxxxxx 242 Группа xxxxxxx 173 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2020, 15:14 |
|
Помощь с PG SQL
|
|||
---|---|---|---|
#18+
Александр Кузьминов, Эх ((( Как минимум создайте индексы на Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2020, 15:24 |
|
Помощь с PG SQL
|
|||
---|---|---|---|
#18+
entrypoint, Пробовал с индексами, у меня почему-то при вызове рекурсивной функции на них ругается программа, если их заменить названиями таблицы - все работает. Разобрался, проблема была в написанном в конце запроса операторе Limit 100 - Почему-то из-за него он долго выполнялся) Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.01.2020, 15:28 |
|
|
start [/forum/topic.php?desktop=1&fid=53&tid=1994871]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 154ms |
0 / 0 |