Я использую Postgresql 9.1
, и у меня есть таблица, состоящая из 36 столбцов и почти 10 кр. 50 отсутствует запись с date time stamp
На этой таблице у нас есть один композит primary key (DEVICE ID TEXT AND DT_DATETIME timestamp without time zone)
Теперь, чтобы получить производительность запроса, у нас есть partition
table 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, поэтому нет времени простоя.
Перегородки обычно не увеличивает производительность запроса, но уменьшает его. Разделение производится для других вещей, таких как вращение данных. – usr
Я не получил вас @usr, вы сможете отправить мне ссылку на то же самое. –
Что именно вы не поняли? Разделение делает запрос более медленным в большинстве случаев. Это не функция производительности, поэтому не ожидайте увеличения производительности. – usr