{"id":7720,"date":"2024-09-03T15:55:27","date_gmt":"2024-09-03T13:55:27","guid":{"rendered":"https:\/\/www.credativ.de\/?p=7720"},"modified":"2025-11-28T18:55:32","modified_gmt":"2025-11-28T17:55:32","slug":"quick-benchmark-analyze-vs-maintenance_io_concurrency","status":"publish","type":"post","link":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/","title":{"rendered":"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency"},"content":{"rendered":"<h2 id=\"introduction\">Introduction<\/h2>\n<p>Running <code>ANALYZE<\/code> (either explicitly or via auto-analyze) is very important in order to have uptodate data statistics for the Postgres query planner. In particular after in-place upgrades via <code>pg_upgrade<\/code>, <code>ANALYZE<\/code> needs to be run in order to have any query statistics at all. As <code>ANALYZE<\/code> samples only parts of the blocks in a table its I\/O pattern looks more like random access than sequential read. Version 14 of Postgres has <a href=\"https:\/\/git.postgresql.org\/gitweb\/?p=postgresql.git;a=commitdiff;h=c6fc50cb40285141fad401321ae21becbaea1c59\">gained<\/a> the possibility to use prefetching (if available, but this is the case on Linux) to tell the operating system kernel which blocks it will look at next. This is controlled via the <code>maintenenance_io_concurrency<\/code> configuration parameter, which is set to 10 by default (contrary to <code>effective_io_concurrency<\/code>, which is set to 1 by default).<\/p>\n<h2 id=\"benchmark\">Benchmark<\/h2>\n<p>In order to test and demonstrate the changes between version 13 and 14, we have done some quick benchmarks using the current maintenance releases (13.16 and 14.13) on Debian 12 with packages from <a class=\"uri\" href=\"https:\/\/apt.postgresql.org\">https:\/\/apt.postgresql.org<\/a>. Hardware-wise, a ThinkPad T14s Gen 3 with a Intel i7-1280P CPU with 20 cores and 32 GB of RAM was used. The basis is a pgbench database, initialized with scale factor of 1000:<\/p>\n<pre><code>    $ pgbench -i -I dtg -s 1000 -d pgbench<\/code><\/pre>\n<p>This creates 100 million rows and leads to a database size of around 15 GB. In order to have <code>ANALYZE<\/code> do a bit more work, we increase <code>default_statistics_target<\/code> from the default of 100 to the same value as the pgbench scale factor (i.e., 1000). This results in <code>ANALYZE<\/code> scanning around 20% of all blocks. We then analyze the main pgbench table, <code>pgbench_accounts<\/code>:<\/p>\n<pre><code>    $ vacuumdb -Z -v -d pgbench -t pgbench_accounts\r\n    INFO:  analyzing \"public.pgbench_accounts\"\r\n    INFO:  \"pgbench_accounts\": scanned 300000 of 1639345 pages,\r\n           containing 18300000 live rows and 0 dead rows;\r\n           300000 rows in sample, 100000045 estimated total rows<\/code><\/pre>\n<p>Between runs, the file system page cache is dropped via <code>echo 3 | sudo tee \/proc\/sys\/vm\/drop_caches<\/code> and all runs are repeated three times. The following table lists the run-times (in seconds) of the above <code>vacuumdb<\/code> command for various settings of <code>maintenance_io_concurrency<\/code>:<\/p>\n<p>&nbsp;<\/p>\n<table style=\"height: 88px;\" width=\"686\">\n<thead>\n<tr class=\"header\">\n<th style=\"text-align: left;\">Version<\/th>\n<th style=\"text-align: left;\">0<\/th>\n<th style=\"text-align: left;\">1<\/th>\n<th style=\"text-align: left;\">5<\/th>\n<th style=\"text-align: left;\">10<\/th>\n<th style=\"text-align: left;\">20<\/th>\n<th style=\"text-align: left;\">50<\/th>\n<th style=\"text-align: left;\">100<\/th>\n<th style=\"text-align: left;\">500<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"odd\">\n<td style=\"text-align: left;\">13<\/td>\n<td style=\"text-align: left;\">19.557<\/td>\n<td style=\"text-align: left;\">21.610<\/td>\n<td style=\"text-align: left;\">19.623<\/td>\n<td style=\"text-align: left;\">21.060<\/td>\n<td style=\"text-align: left;\">21.463<\/td>\n<td style=\"text-align: left;\">20.533<\/td>\n<td style=\"text-align: left;\">20.230<\/td>\n<td style=\"text-align: left;\">20.537<\/td>\n<\/tr>\n<tr class=\"even\">\n<td style=\"text-align: left;\">14<\/td>\n<td style=\"text-align: left;\">24.707<\/td>\n<td style=\"text-align: left;\">29.840<\/td>\n<td style=\"text-align: left;\">8.740<\/td>\n<td style=\"text-align: left;\">5.777<\/td>\n<td style=\"text-align: left;\">4.067<\/td>\n<td style=\"text-align: left;\">3.353<\/td>\n<td style=\"text-align: left;\">3.007<\/td>\n<td style=\"text-align: left;\">2.763<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2 id=\"analysis\">Analysis<\/h2>\n<p>Two things are very clear from those numbers: First, the run-times do not change for version 13, the value of <code>maintenance_io_concurrency<\/code> has no effect for this version. Second, once prefetching kicks in for version 14 (<code>maintenance_io_concurrency<\/code> is 5 or more), <code>ANALYZE<\/code> gets several times faster, up to a factor of 6-7x. The default value of <code>maintenance_io_concurrency<\/code> of 10 is already 3-4x faster and values larger than 50 show only minor further improvements, at least for this benchmark on this hardware. Also notable is that the run-times when prefetching is turned off (<code>maintenance_io_concurrency=0<\/code>) or only set to 1 are worse than for version 13, but as the default for <code>maintenance_io_concurrency<\/code> is 10, this should not affect anybody in practice.<\/p>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Enabling prefetching for <code>ANALYZE<\/code> in version 14 of PostgreSQL has made statistics sampling much faster. The default value of 10 for <code>maintenance_io_concurrency<\/code> is already quite good, but we advise to increase it to 20-50 (or higher) in case high-performing local NVME storage is used. In a future quick benchmark, we plan to compare the <code>ANALYZE<\/code> performance for the major versions since 14. In particular, the upcoming 17 release promises some further improvements to\u00a0<code class=\"c-mrkdwn__code\" data-stringify-type=\"code\">ANALYZE<\/code>\u00a0due to the\u00a0<a class=\"c-link\" href=\"https:\/\/pganalyze.com\/blog\/5mins-postgres-17-streaming-io#faster-analyze-with-streaming-io\" target=\"_blank\" rel=\"noopener noreferrer\" data-stringify-link=\"https:\/\/pganalyze.com\/blog\/5mins-postgres-17-streaming-io#faster-analyze-with-streaming-io\" data-sk=\"tooltip_parent\">new streaming I\/O interface<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Running ANALYZE (either explicitly or via auto-analyze) is very important in order to have uptodate data statistics for the Postgres query planner. In particular after in-place upgrades via pg_upgrade, ANALYZE needs to be run in order to have any query statistics at all. As ANALYZE samples only parts of the blocks in a table [&hellip;]<\/p>\n","protected":false},"author":37,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_improvement_type_select":"improve_an_existing","_thumb_yes_seoaic":false,"_frame_yes_seoaic":false,"seoaic_generate_description":"","seoaic_improve_instructions_prompt":"","seoaic_rollback_content_improvement":"","seoaic_idea_thumbnail_generator":"","thumbnail_generated":false,"thumbnail_generate_prompt":"","seoaic_article_description":"","seoaic_article_subtitles":[],"footnotes":""},"categories":[1708],"tags":[1911,1887,1801],"class_list":["post-7720","post","type-post","status-publish","format-standard","hentry","category-postgresql-en","tag-benchmarks","tag-planetpostgresql","tag-postgresql-en"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Quick Benchmark: ANALYZE vs. maintenance_io_concurrency - credativ\u00ae<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency\" \/>\n<meta property=\"og:description\" content=\"Introduction Running ANALYZE (either explicitly or via auto-analyze) is very important in order to have uptodate data statistics for the Postgres query planner. In particular after in-place upgrades via pg_upgrade, ANALYZE needs to be run in order to have any query statistics at all. As ANALYZE samples only parts of the blocks in a table [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/\" \/>\n<meta property=\"og:site_name\" content=\"credativ\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/credativDE\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-03T13:55:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-28T17:55:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/07\/Portfolio-Loesungen.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"550\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Michael Banck\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@credativde\" \/>\n<meta name=\"twitter:site\" content=\"@credativde\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Michael Banck\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/\"},\"author\":{\"name\":\"Michael Banck\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#\\\/schema\\\/person\\\/038c79105ce9b5fd885631da3f806698\"},\"headline\":\"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency\",\"datePublished\":\"2024-09-03T13:55:27+00:00\",\"dateModified\":\"2025-11-28T17:55:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/\"},\"wordCount\":460,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#organization\"},\"keywords\":[\"Benchmarks\",\"planetpostgresql\",\"PostgreSQL\u00ae\"],\"articleSection\":[\"PostgreSQL\u00ae\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/\",\"name\":\"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency - credativ\u00ae\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#website\"},\"datePublished\":\"2024-09-03T13:55:27+00:00\",\"dateModified\":\"2025-11-28T17:55:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/\",\"name\":\"credativ GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Organization\",\"Place\"],\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#organization\",\"name\":\"credativ\u00ae\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/\",\"logo\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#local-main-organization-logo\"},\"image\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#local-main-organization-logo\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/credativDE\\\/\",\"https:\\\/\\\/x.com\\\/credativde\",\"https:\\\/\\\/mastodon.social\\\/@credativde\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/credativ-gmbh\",\"https:\\\/\\\/www.instagram.com\\\/credativ\\\/\"],\"description\":\"Die credativ GmbH ist ein f\u00fchrendes, auf Open Source Software spezialisiertes IT-Dienstleistungs- und Beratungsunternehmen. Wir bieten umfassende und professionelle Services, von Beratung und Infrastruktur-Betrieb \u00fcber 24\\\/7 Support bis hin zu individuellen L\u00f6sungen und Schulungen. Unser Fokus liegt auf dem ganzheitlichen Management von gesch\u00e4ftskritischen Open-Source-Systemen, darunter Betriebssysteme (z.B. Linux), Datenbanken (z.B. PostgreSQL), Konfigurationsmanagement (z.B. Ansible, Puppet) und Virtualisierung. Als engagierter Teil der Open-Source-Community unterst\u00fctzen wir unsere Kunden dabei, die Vorteile freier Software sicher, stabil und effizient in ihrer IT-Umgebung zu nutzen.\",\"legalName\":\"credativ GmbH\",\"foundingDate\":\"2025-03-01\",\"duns\":\"316387060\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"},\"address\":{\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#local-main-place-address\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":\"51.1732374\",\"longitude\":\"6.392010099999999\"},\"telephone\":[\"+4921619174200\",\"08002733284\"],\"contactPoint\":{\"@type\":\"ContactPoint\",\"telephone\":\"08002733284\",\"email\":\"vertrieb@credativ.de\"},\"openingHoursSpecification\":[{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\"],\"opens\":\"09:00\",\"closes\":\"17:00\"},{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Saturday\",\"Sunday\"],\"opens\":\"00:00\",\"closes\":\"00:00\"}],\"email\":\"info@credativ.de\",\"areaServed\":\"D-A-CH\",\"vatID\":\"DE452151696\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/#\\\/schema\\\/person\\\/038c79105ce9b5fd885631da3f806698\",\"name\":\"Michael Banck\",\"description\":\"Michael Banck ist seit 2009 Mitarbeiter der credativ GmbH, sowie seit 2001 Mitglied des Debian Projekts und auch in weiteren Open Source Projekten aktiv. Als Mitglied des Datenbank-Teams von credativ hat er in den letzten Jahren verschiedene Kunden bei der L\u00f6sung von Problemen mit und dem t\u00e4glichen Betrieb von PostgreSQL\u00ae, sowie bei der Einf\u00fchrung von Hochverf\u00fcgbarkeits-L\u00f6sungen im Bereich Datenbanken unterst\u00fctzt und beraten.\"},{\"@type\":\"PostalAddress\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#local-main-place-address\",\"streetAddress\":\"Hennes-Weisweiler-Allee 23\",\"addressLocality\":\"M\u00f6nchengladbach\",\"postalCode\":\"41179\",\"addressRegion\":\"Deutschland\",\"addressCountry\":\"DE\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.credativ.de\\\/en\\\/blog\\\/postgresql-en\\\/quick-benchmark-analyze-vs-maintenance_io_concurrency\\\/#local-main-organization-logo\",\"url\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/credativ-logo-right.svg\",\"contentUrl\":\"https:\\\/\\\/www.credativ.de\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/credativ-logo-right.svg\",\"caption\":\"credativ\u00ae\"}]}<\/script>\n<meta name=\"geo.placename\" content=\"M\u00f6nchengladbach\" \/>\n<meta name=\"geo.position\" content=\"51.1732374;6.392010099999999\" \/>\n<meta name=\"geo.region\" content=\"Germany\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency - credativ\u00ae","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/","og_locale":"en_US","og_type":"article","og_title":"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency","og_description":"Introduction Running ANALYZE (either explicitly or via auto-analyze) is very important in order to have uptodate data statistics for the Postgres query planner. In particular after in-place upgrades via pg_upgrade, ANALYZE needs to be run in order to have any query statistics at all. As ANALYZE samples only parts of the blocks in a table [&hellip;]","og_url":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/","og_site_name":"credativ\u00ae","article_publisher":"https:\/\/www.facebook.com\/credativDE\/","article_published_time":"2024-09-03T13:55:27+00:00","article_modified_time":"2025-11-28T17:55:32+00:00","og_image":[{"width":800,"height":550,"url":"https:\/\/www.credativ.de\/wp-content\/uploads\/2019\/07\/Portfolio-Loesungen.jpg","type":"image\/jpeg"}],"author":"Michael Banck","twitter_card":"summary_large_image","twitter_creator":"@credativde","twitter_site":"@credativde","twitter_misc":{"Written by":"Michael Banck","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#article","isPartOf":{"@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/"},"author":{"name":"Michael Banck","@id":"https:\/\/www.credativ.de\/en\/#\/schema\/person\/038c79105ce9b5fd885631da3f806698"},"headline":"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency","datePublished":"2024-09-03T13:55:27+00:00","dateModified":"2025-11-28T17:55:32+00:00","mainEntityOfPage":{"@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/"},"wordCount":460,"commentCount":0,"publisher":{"@id":"https:\/\/www.credativ.de\/en\/#organization"},"keywords":["Benchmarks","planetpostgresql","PostgreSQL\u00ae"],"articleSection":["PostgreSQL\u00ae"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/www.credativ.de\/#organization"}},{"@type":"WebPage","@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/","url":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/","name":"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency - credativ\u00ae","isPartOf":{"@id":"https:\/\/www.credativ.de\/en\/#website"},"datePublished":"2024-09-03T13:55:27+00:00","dateModified":"2025-11-28T17:55:32+00:00","breadcrumb":{"@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.credativ.de\/en\/"},{"@type":"ListItem","position":2,"name":"Quick Benchmark: ANALYZE vs. maintenance_io_concurrency"}]},{"@type":"WebSite","@id":"https:\/\/www.credativ.de\/en\/#website","url":"https:\/\/www.credativ.de\/en\/","name":"credativ GmbH","description":"","publisher":{"@id":"https:\/\/www.credativ.de\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.credativ.de\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Organization","Place"],"@id":"https:\/\/www.credativ.de\/en\/#organization","name":"credativ\u00ae","url":"https:\/\/www.credativ.de\/en\/","logo":{"@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#local-main-organization-logo"},"image":{"@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#local-main-organization-logo"},"sameAs":["https:\/\/www.facebook.com\/credativDE\/","https:\/\/x.com\/credativde","https:\/\/mastodon.social\/@credativde","https:\/\/www.linkedin.com\/company\/credativ-gmbh","https:\/\/www.instagram.com\/credativ\/"],"description":"Die credativ GmbH ist ein f\u00fchrendes, auf Open Source Software spezialisiertes IT-Dienstleistungs- und Beratungsunternehmen. Wir bieten umfassende und professionelle Services, von Beratung und Infrastruktur-Betrieb \u00fcber 24\/7 Support bis hin zu individuellen L\u00f6sungen und Schulungen. Unser Fokus liegt auf dem ganzheitlichen Management von gesch\u00e4ftskritischen Open-Source-Systemen, darunter Betriebssysteme (z.B. Linux), Datenbanken (z.B. PostgreSQL), Konfigurationsmanagement (z.B. Ansible, Puppet) und Virtualisierung. Als engagierter Teil der Open-Source-Community unterst\u00fctzen wir unsere Kunden dabei, die Vorteile freier Software sicher, stabil und effizient in ihrer IT-Umgebung zu nutzen.","legalName":"credativ GmbH","foundingDate":"2025-03-01","duns":"316387060","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"},"address":{"@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#local-main-place-address"},"geo":{"@type":"GeoCoordinates","latitude":"51.1732374","longitude":"6.392010099999999"},"telephone":["+4921619174200","08002733284"],"contactPoint":{"@type":"ContactPoint","telephone":"08002733284","email":"vertrieb@credativ.de"},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday"],"opens":"09:00","closes":"17:00"},{"@type":"OpeningHoursSpecification","dayOfWeek":["Saturday","Sunday"],"opens":"00:00","closes":"00:00"}],"email":"info@credativ.de","areaServed":"D-A-CH","vatID":"DE452151696"},{"@type":"Person","@id":"https:\/\/www.credativ.de\/en\/#\/schema\/person\/038c79105ce9b5fd885631da3f806698","name":"Michael Banck","description":"Michael Banck ist seit 2009 Mitarbeiter der credativ GmbH, sowie seit 2001 Mitglied des Debian Projekts und auch in weiteren Open Source Projekten aktiv. Als Mitglied des Datenbank-Teams von credativ hat er in den letzten Jahren verschiedene Kunden bei der L\u00f6sung von Problemen mit und dem t\u00e4glichen Betrieb von PostgreSQL\u00ae, sowie bei der Einf\u00fchrung von Hochverf\u00fcgbarkeits-L\u00f6sungen im Bereich Datenbanken unterst\u00fctzt und beraten."},{"@type":"PostalAddress","@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#local-main-place-address","streetAddress":"Hennes-Weisweiler-Allee 23","addressLocality":"M\u00f6nchengladbach","postalCode":"41179","addressRegion":"Deutschland","addressCountry":"DE"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.credativ.de\/en\/blog\/postgresql-en\/quick-benchmark-analyze-vs-maintenance_io_concurrency\/#local-main-organization-logo","url":"https:\/\/www.credativ.de\/wp-content\/uploads\/2025\/04\/credativ-logo-right.svg","contentUrl":"https:\/\/www.credativ.de\/wp-content\/uploads\/2025\/04\/credativ-logo-right.svg","caption":"credativ\u00ae"}]},"geo.placename":"M\u00f6nchengladbach","geo.position":{"lat":"51.1732374","long":"6.392010099999999"},"geo.region":"Germany"},"_links":{"self":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/posts\/7720","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/users\/37"}],"replies":[{"embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/comments?post=7720"}],"version-history":[{"count":1,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/posts\/7720\/revisions"}],"predecessor-version":[{"id":10318,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/posts\/7720\/revisions\/10318"}],"wp:attachment":[{"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/media?parent=7720"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/categories?post=7720"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.credativ.de\/en\/wp-json\/wp\/v2\/tags?post=7720"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}