Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
Добрый день ! Работаю с версией 8.1.8 под Windows. Создал таблицы как указано в доке: Код: plaintext 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. Залил данные в таблицы. Делаю выборку: Код: plaintext 1. 2. Результат такой: в 8.1.8 перебираются все партиции, а в 8.2.3 выбирается только одна таблица(партиция) соотвествующая периоду 200705. Вопрос: как побороть перебор всех таблиц в 8.1.8 ? P.S. Смену версий не предлагать. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 09:50 |
|
||
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
postgresql.conf: constraint_exclusion = on И перегрузить. У меня 8.1.9. Вроде работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 12:35 |
|
||
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
galishaРезультат такой: в 8.1.8 перебираются все партиции, а в 8.2.3 выбирается только одна таблица(партиция) соотвествующая периоду 200705. Вопрос: как побороть перебор всех таблиц в 8.1.8 ?Делать выборку не из представления, а из родительской таблицы. "select * from com_sum where cms_account_s=6704 and period=200705::int4". При этом constraint_exclusion срабатывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 12:37 |
|
||
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
To Funny_Falcon: Спасибо за ответ, прописывал и перегружал. Не помогло. Может я какую фишку в командах (вышеприведенных) пропустил ? В 8.1.8 у меня explain analyze показывает проход по всем партициям. Кол-во строк извлеченных по не нужным партициям равен 0, но время на "нырок" в партицию приличное, аж 53 ms. Это очень много, когда выборка большая. Тормоза ощутимые. У Вас не "нырков" в ненужные партиции на 8.1.9 ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 12:41 |
|
||
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
To LeXa NalBat: Вот это да, из родительской ? Там ж нет данных ! А вьюшка зачем в доке приведена ? Объясни пож-ста, что за трюк. P.S. Просто проверить прямо сейчас не могу, нет под рукой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 12:44 |
|
||
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
galishaTo LeXa NalBat: Вот это да, из родительской ? Там ж нет данных ! А вьюшка зачем в доке приведена ? Объясни пож-ста, что за трюк. P.S. Просто проверить прямо сейчас не могу, нет под рукой. Данные там есть, на то она и родительская. А вьюшка - это часть идеологии автора статьи, без нее в твоем случае, да и не только запросто можно обойтись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 15:19 |
|
||
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
galishaСпасибо за ответ, прописывал и перегружал. Не помогло. Может я какую фишку в командах (вышеприведенных) пропустил ? В 8.1.8 у меня explain analyze показывает проход по всем партициям. У Вас не "нырков" в ненужные партиции на 8.1.9 ?Я не написал этого в предыдущем сообщении, проделал на 8.1.9 тест, получил при запросе к view проход по всем партициям, а при запросе к родительской таблице - constraint_exclusion работает. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. galishaвремя на "нырок" в партицию приличное, аж 53 ms.А вы уверены, что проверка check-констрейнта будет работать быстрее 53 ms? Проверить это можно наверное только замерив общее время, потому что, подозреваю, время потраченное на constraint_exclusion в explain analyze не фигурирует. :-( galishaВот это да, из родительской ? Там ж нет данных !Физически данных нет: "select * from only table com_sum" будет пустым. А логически, благодаря "inherits", есть: "select * from table com_sum" вернет все записи из всех дочерних таблиц. galishaА вьюшка зачем в доке приведена ?Альтернативный вариант. В доке написано "Partitioning can also be arranged using a UNION ALL view". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 16:20 |
|
||
|
Партиционирование в 8.1.8
|
|||
|---|---|---|---|
|
#18+
Спасибо всем большое. Проверюсь, отпишусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2007, 17:58 |
|
||
|
|

start [/forum/topic.php?fid=53&tid=2005098]: |
0ms |
get settings: |
10ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
| others: | 247ms |
| total: | 389ms |

| 0 / 0 |
