Я сделаю тест производительности между таблицей разделов и таблицей без разделов.
Вот две таблицы, каждая из которых содержит 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]