Тестирование производительности таблицы разделов в PostgreSQL - часть 3

Я сделаю тест производительности между таблицей разделов и таблицей без разделов.

Вот две таблицы, каждая из которых содержит 200 миллионов данных.

PS Пожалуйста, перейдите по ссылке://database/partition-table-in-postgresql-create-partition-part-1/[Таблица разделов в PostgreSQL (Create Partition) - часть 1]Если вы не знаете, как сделать разделение таблицы в PostgreSQL и перейдите по ссылке://database/partition-table-in-postgresql-simulate-million-data-part-2/[Таблица разделов в PostgreSQL (Simulate Millions Data) - часть 2], чтобы смоделировать миллионы данных для их тестирования.

Тестирование производительности на указанную дату

--partition table

SELECT **  FROM hashvalue__PT WHERE hashtime = DATE '2008-08-01'

--non partition table
SELECT **  FROM hashvalue WHERE hashtime = DATE '2008-08-01'

Вот результат теста производительности от 1 до 200 миллионов данных.

Пожалуйста, нажмите на картинку, чтобы увеличить результативность.

ссылка://wp-content/uploads/2008/07/performance-test-on-partition-table-postgresql-1.JPG[Изображение://WP-содержание/добавления/2008/07/производительность тест-on- разбиение-таблицы PostgreSQL-1.JPG[производительность испытаний на перегородке стол-1-PostgreSQL]]

  • Когда оба содержат 200 миллионов данных, поиск по указанной дате, таблица разделов быстрее, чем таблица без разделов, около 144,45%

Поиск в указанную дату «2008-08-01» Полученные записи = 741825 Таблица разделов = 359,61 секунд Таблица без разделов = 879,062 секунд

Тестирование производительности в диапазоне дат того же месяца

--partition table

SELECT **  FROM hashvalue__PT WHERE hashtime> = DATE '2008-05-01' И hashtime <= '2008-05-15';

--non partition table
SELECT **  FROM hashvalue WHERE hashtime >= DATE '2008-05-01' AND hashtime <= '2008-05-15';

Вот результат теста производительности от 1 до 200 миллионов данных.

Пожалуйста, нажмите на картинку, чтобы увеличить результативность.

ссылка://wp-content/uploads/2008/07/performance-test-on-partition-table-postgresql-2.JPG[Изображение://WP-содержание/добавления/2008/07/производительность тест-on- разбиение-таблицы PostgreSQL-2.JPG[производительность испытаний на перегородке стол-2-PostgreSQL]]

  • Когда оба содержат 200 миллионов данных, поиск по дате диапазона в том же месяце, таблица разделов выполняется быстрее, чем таблица без разделов, около 209,84% **

Поиск по диапазону дат в том же месяце с «2008-05-01» по «2008-05-15»; Полученные записи = 11112338 Таблица разделов = 603,328 секунд Таблица без разделов = 1869,375 секунд

Тестирование производительности в диапазоне дат пересечения месяца

--partition table

SELECT **  FROM hashvalue__PT WHERE hashtime> = DATE '2008-06-20' И hashtime <= '2008-07-10';

--non partition table
SELECT **  FROM hashvalue WHERE hashtime >= DATE '2008-06-20' AND hashtime <= '2008-07-10';

Вот результат теста производительности от 1 до 200 миллионов данных.

Пожалуйста, нажмите на картинку, чтобы увеличить результативность.

ссылка://wp-content/uploads/2008/07/performance-test-on-partition-table-postgresql-3.JPG[Изображение://WP-содержание/добавления/2008/07/производительность тест-on- разбиение-таблицы PostgreSQL-3.JPG[производительность испытаний на перегородке стол-3-PostgreSQL]]

  • Когда оба содержат 200 миллионов данных, поиск по дате диапазона и кросс-месяцу, таблица разделов быстрее, чем таблица без разделов, примерно на 39,97% **

Поиск по диапазону даты и месячному месяцу с «2008-06-20» до «2008-07-10»; Полученные записи = 12220658 Таблица разделов = 1310,766 секунд Таблица без разделов = 1834,743 секунд

Вывод

После нескольких тестов производительности между разделами и без разделов таблица, очевидно, что таблица разделов полностью выиграла в этом тесте производительности.

ссылка://тег/производительность/[производительность]ссылка://тег/postgresql/[postgresql]