Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Коллеги имеется вот такого рода запрос,как его лучше всего оптимизировать(дайте пожалуйста рекомендации на ваш взгляд,примеры и советы) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Дополнительно по этому запросу я сделал EXPLAIN ANALYZE и получилось что практически 85 процентов времени занимает работа HASH Join'а,я предполагаю что там можно сделать индекс по name::text,но Не уверен как правильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 13:52 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
План запроса таков: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 13:53 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Strippett, а нафига вы всё к тексту приводите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 14:25 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Melkij,Ну это не я делаю,а разработана так бд и только так внешнее приложение может воспринимать данные из этого материализованного представления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 15:14 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Melkij,Судя по плану ведь приведение данных к тексту не сильно занимает много времени или я не прав? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 15:15 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
StrippettMelkij,Судя по плану ведь приведение данных к тексту не сильно занимает много времени или я не прав? Угу, всего-то начисто лишает возможности использовать любые существующие индексы, кроме функциональных с этим же явным приведением типов. Что, в свою очередь, резко раздует объём индексов. StrippettMelkij,Ну это не я делаю,а разработана так бд и только так внешнее приложение может воспринимать данные из этого материализованного представления. Да, всякий дичайший бред на приложениях встречается. Иногда этот кусок говнокода даже не представляется возможным править. Вот только если это вьюха - то этот запрос не имеет к приложению никакого отношения и вы можете выдать то же самое бинарное представление клиенту, но с нормальным запросом на субд. И вы не указали DDL используемых таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 15:59 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Melkij, До меня дошло почему используется тип text везде,тут же COALESCE он сам не умеет приводить данные к одному виду) по DDL вы имеете ввиду то представление которое создаётся если так то вот: CREATE MATERIALIZED VIEW public.m_sch ( item_id, hier_pos, full_name, official_address ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 18:31 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
StrippettДо меня дошло почему используется тип text везде,тут же COALESCE он сам не умеет приводить данные к одному виду) И как же это связано с тем, что приведение к тексту воткнуто везде, начиная с явно числовых item_id в объединениях таблиц? Под DDL используемых таблиц я, как ни странно, имею в виду DDL используемых таблиц. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 18:43 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Strippett, Код: sql 1. 2. 3. 4. сейчас большая часть времени уходит на вычисление этого подзапроса. если нельзя переписать этот треш с приведениями, то нужно как минимум создать индекс в data либо по item_id::text либо по item_id::text и name::text (в зависимости от данных). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2016, 21:14 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
MelkijStrippettMelkij,Судя по плану ведь приведение данных к тексту не сильно занимает много времени или я не прав? Угу, всего-то начисто лишает возможности использовать любые существующие индексы, кроме функциональных с этим же явным приведением типов. Что, в свою очередь, резко раздует объём индексов. А ничего, что pg неявно приводит varchar в text, что можно увидеть на любом плане ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2016, 18:45 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
ora601, думаю, Melkij имел ввиду это: Код: sql 1. ID, конечно, может быть текст, но по этому поводу есть некоторые сомнения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.11.2016, 19:10 |
|
||
|
Оптимизация запроса
|
|||
|---|---|---|---|
|
#18+
Strippett, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. А так работает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.12.2016, 23:39 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=39348470&tid=1996810]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
160ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 265ms |

| 0 / 0 |
