2014-11-10 1 views
-1

Я использую Postgresql 9.1, и у меня есть таблица, состоящая из 36 столбцов и почти 10 кр. 50 отсутствует запись с date time stamp На этой таблице у нас есть один композит primary key (DEVICE ID TEXT AND DT_DATETIME timestamp without time zone) Теперь, чтобы получить производительность запроса, у нас есть partitiontable day wise на основе DT_DATETIME Fild. Теперь после partition Я вижу, что время поиска данных query занимает больше, чем таблица unpartition. У меня есть on параметр constraint_exclusion в файле config.После таблицы Разбивка Выбор производительности запроса медленный

Пожалуйста, любое решение для того же.

Позвольте мне объяснить немного дальше У меня есть данные за 45 дней GPS в таблице размером 40 ГБ. Каждую секунду Мы вставляем минимум 27 новых записей (2,5 миллиона записей в день). Чтобы сохранить размер стола в устойчивые 45 дней, мы удаляем данные за 45 дней каждую ночь. Теперь это создает проблему в вакууме на этой таблице из-за блокировки. Если у нас есть таблица разделов, мы можем просто отбросить дочернюю таблицу 45-го дня. , поэтому при разбиении на разделы мы хотели повысить производительность запросов, а также решить проблему блокировки. Мы попробовали pg_repack, но в два раза коэффициент загрузки системы увеличился до 21, и нам пришлось перезагрузить сервер. Наша система 24x7, поэтому нет времени простоя.

+0

Перегородки обычно не увеличивает производительность запроса, но уменьшает его. Разделение производится для других вещей, таких как вращение данных. – usr

+0

Я не получил вас @usr, вы сможете отправить мне ссылку на то же самое. –

+0

Что именно вы не поняли? Разделение делает запрос более медленным в большинстве случаев. Это не функция производительности, поэтому не ожидайте увеличения производительности. – usr

ответ

-1

пытаются использовать pg_bouncer для управления соединениями и управления памятью или увеличить оперативную память на сервере ....

+0

-1: Какова возможная корреляция с вопросом ОП? – harmic