{"id":932,"date":"2018-06-22T07:49:10","date_gmt":"2018-06-22T14:49:10","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/erin\/?p=932"},"modified":"2018-06-23T19:16:02","modified_gmt":"2018-06-24T02:16:02","slug":"updating-statistics-with-ola-hallengrens-script","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/","title":{"rendered":"Updating Statistics with Ola Hallengren\u2019s Script"},"content":{"rendered":"<p>I am a HUGE fan of updating statistics as part of regular maintenance.\u00a0 In fact, if you don\u2019t know if you have a step or job that updates out of statistics on a regular basis, go check now!\u00a0 This post will still be here when you get back &#x1f60a;<\/p>\n<p>At any rate, for a long time the default options for updating statistics were pretty much a sledgehammer.\u00a0 Within the maintenance plan options, the Update Statistics Task only provides the option to update Index statistics, Column statistics, or both.\u00a0 You can also specify whether it is a full scan or a sample for the update, but that\u2019s about it:<\/p>\n<figure id=\"attachment_934\" aria-describedby=\"caption-attachment-934\" style=\"width: 550px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/update-stats.jpg\"><img fetchpriority=\"high\" decoding=\"async\" class=\"size-full wp-image-934\" src=\"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/update-stats.jpg\" alt=\"Update Statistics Task (Maintenance Plan)\" width=\"550\" height=\"467\" srcset=\"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/update-stats.jpg 550w, https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/update-stats-300x255.jpg 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><figcaption id=\"caption-attachment-934\" class=\"wp-caption-text\">Update Statistics Task (Maintenance Plan)<\/figcaption><\/figure>\n<p>I don\u2019t like this option because it means that statistics that have had little or no change will be updated.\u00a0 I could have a 10 million row table where only 1000 rows change, and yet the statistics for that table will update.\u00a0 This is a waste of resources.\u00a0 For a small database, or system that\u2019s not 24&#215;7, that isn\u2019t such a big deal.\u00a0 But in a database with multiple 10 million row tables, it <em>is<\/em> a big deal.<\/p>\n<p>The sp_updatestats command isn\u2019t a favorite of mine either.\u00a0 I\u2019ve written about that <a href=\"https:\/\/sqlperformance.com\/2013\/07\/sql-statistics\/statistics-updates\">here<\/a>, so I won\u2019t re-hash it.<\/p>\n<p>If you have used <a href=\"https:\/\/ola.hallengren.com\/\">Ola Hallengren\u2019s scripts<\/a> for maintenance, you hopefully know that it will also update statistics using the @UpdateStatistics parameter.\u00a0 The default value for this is NULL, which means do not update statistics.\u00a0 To be clear, if you drop in Ola\u2019s scripts and have it create the jobs for you, and then you start running the \u201cIndexOptimize \u2013 USER_DATABASES\u201d job, by default you\u2019re not updating statistics.\u00a0 The code the IndexOptimize \u2013 USER_DATABASES job has, by default, is:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nEXECUTE &#x5B;dbo].&#x5B;IndexOptimize]\r\n@Databases = 'USER_DATABASES',\r\n@LogToTable = 'Y'\r\n<\/pre>\n<p>If you want to have the job also update statistics, you need:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nEXECUTE &#x5B;dbo].&#x5B;IndexOptimize]\r\n@Databases = 'USER_DATABASES',\r\n@UpdateStatistics = 'ALL',\r\n@LogToTable = 'Y'\r\n<\/pre>\n<p>With this variation, we are updating index and column statistics, which is great.\u00a0 But\u2026we are updating them regardless of whether it\u2019s needed.\u00a0 Statistic with no rows modified? Update it.\u00a0 Statistic with 10 rows modified? Update it.<\/p>\n<p>There has always been an option to only update statistics that have changed, this is the @OnlyModifiedStatistics option, and this gets us behavior just like sp_updatestats.<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nEXECUTE &#x5B;dbo].&#x5B;IndexOptimize]\r\n@Databases = 'USER_DATABASES',\r\n@UpdateStatistics = 'ALL',\r\n@OnlyModifiedStatistics = 'Y',\r\n@LogToTable = 'Y'\r\n<\/pre>\n<p>With this option, if no rows have changed, the statistic will not be updated.\u00a0 If one or more rows have changed, the statistic will be updated.<\/p>\n<p>Since the release of SP1 for 2012, this has been my only challenge with Ola\u2019s scripts.\u00a0 In SQL Server 2008R2 SP2 and SQL Server 2012 SP1 they introduced the <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/system-dynamic-management-views\/sys-dm-db-stats-properties-transact-sql?view=sql-server-2017\">sys.dm_db_stats_properties<\/a> DMV, which <a href=\"https:\/\/www.sqlskills.com\/blogs\/erin\/new-statistics-dmf-in-sql-server-2008r2-sp2\/\">tracks modifications for each statistic<\/a>.\u00a0 I have written custom scripts to use this information to determine if stats should be updated, which I\u2019ve talked about <a href=\"https:\/\/www.sqlskills.com\/blogs\/erin\/sqlskills-sql101-updating-sql-server-statistics-part-ii-scheduled-updates\/\">here<\/a>.\u00a0 Jonathan has also modified Ola\u2019s script for a few of our customers to look at sys.dm_db_stats_properties to determine if enough data had changed to update stats, and a long time ago we had emailed Ola to ask if he could include an option to set a threshold.\u00a0 <em>Good news, that option now exists!<\/em><\/p>\n<p><strong>Using Ola&#8217;s script to update statistics based on a threshold of change<\/strong><\/p>\n<p>With the <a href=\"https:\/\/ola.hallengren.com\/sql-server-index-and-statistics-maintenance.html\">IndexOptimize stored procedure<\/a>\u00a0Ola now includes the option of @StatisticsModificationLevel.\u00a0 You can use this to set a threshold for modifications, so that only statistics with a specific volume of change are updated.\u00a0 For example, if I want statistics updated if 5% of the data has changed, use:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nEXECUTE &#x5B;dbo].&#x5B;IndexOptimize]\r\n@Databases = 'USER_DATABASES',\r\n@UpdateStatistics = 'ALL',\r\n@StatisticsModificationLevel= '5',\r\n@LogToTable = 'Y'\r\n<\/pre>\n<p><span style=\"color: #800080;\"><em>Take note: the option @OnlyModifiedStatistics option is not included here&#8230;you cannot use both options, it has to be one or the other.<\/em><\/span><\/p>\n<p>This is great!\u00a0 I can further customize this for\u00a0different tables.\u00a0 Consider a database that has a very volatile table, maybe dbo.OrderStatus, where auto-update may or may not kick in during the day, so I want to make sure stats are updated nightly:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nEXECUTE &#x5B;dbo].&#x5B;IndexOptimize]\r\n@Databases = 'USER_DATABASES',\r\n@Indexes = 'ALL_INDEXES, -SalesDB.dbo.OrderStatus',\r\n@UpdateStatistics = 'ALL',\r\n@StatisticsModificationLevel= '10',\r\n@LogToTable = 'Y'\r\n<\/pre>\n<p>This will address fragmentation and update statistics for all tables in the\u00a0SalesDB database <em>except<\/em>\u00a0dbo.OrderStatus, and it will update statistics if 10% or more of the rows have changed.<\/p>\n<p>I would then have a second job to address fragmentation and stats for OrderStatus:<\/p>\n<pre class=\"brush: sql; title: ; notranslate\" title=\"\">\r\nEXECUTE &#x5B;dbo].&#x5B;IndexOptimize]\r\n@Databases = 'USER_DATABASES',\r\n@Indexes = 'SalesDB.dbo.OrderStatus',\r\n@UpdateStatistics = 'ALL',\r\n@StatisticsModificationLevel= '1',\r\n@LogToTable = 'Y'\r\n<\/pre>\n<p>For the dbo.OrderStatus table, statistics would be updated when only 1% of the data had changed.<\/p>\n<p>I love the flexibility this provides!<\/p>\n<p>You might be wondering why I chose 1%&#8230;take a close look at this important note which is included in Ola\u2019s documentation:<\/p>\n<blockquote><p><span style=\"color: #3366ff;\">Statistics will also be updated when the number of modified rows has reached a decreasing, dynamic threshold, SQRT(number of rows * 1000)<\/span><\/p><\/blockquote>\n<p>This is critical to understand because if the threshold I have set for @StatisticsModificationLevel ends up having a number of rows HIGHER than the formula above, statistics will update sooner than I expect.<\/p>\n<p>For example, if I have 1 million rows in a table and I have @StatisticsModificationLevel = 10, then 10% of the rows, or 100,000, have to change in order to update statistics.\u00a0 HOWEVER, if you plug 1 million into SQRT(1,000,000 * 1000), you get 31,623, which means Ola\u2019s script will update statistics after 31,623 rows have changed\u2026well before 100,000.<\/p>\n<p>This may be important for some of you to understand in terms of these thresholds, so I dropped the information into a table to make it easier to comprehend (at least, it\u2019s easier for me!).<\/p>\n<figure id=\"attachment_939\" aria-describedby=\"caption-attachment-939\" style=\"width: 787px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/table5.jpg\"><img decoding=\"async\" class=\"size-full wp-image-939\" src=\"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/table5.jpg\" alt=\"Thresholds for Statistics Updates (percentage and SQRT algorithm)\" width=\"787\" height=\"219\" srcset=\"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/table5.jpg 787w, https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/table5-300x83.jpg 300w\" sizes=\"(max-width: 787px) 100vw, 787px\" \/><\/a><figcaption id=\"caption-attachment-939\" class=\"wp-caption-text\">Thresholds for Statistics Updates (percentage and SQRT algorithm)<\/figcaption><\/figure>\n<p>Using my original example, if\u00a0dbo.OrderStatus\u00a0has about one million rows, then with 1% as the threshold, only 10,000 rows need to change before stats are updated.\u00a0 If the SQRT algorithm were used, over 30,000 rows would need to change before stats were updated, and depending on the data skew, that might be too high.<\/p>\n<p>Understand that as tables get larger, statistics will likely be updated <em>before<\/em> the set percentage value is reached because the SQRT algorithm has a lower threshold.\u00a0 (Yes, I&#8217;m driving this point home.)\u00a0 Consider a table with 10\u00a0million rows.\u00a0 If I set the threshold to 5%, I would\u00a0expect\u00a0statistics to update after 500,000 modifications, but in fact they will update after 100,000.<\/p>\n<p>If you\u2019re wondering where the SQRT algorithm comes from, please review Microsoft\u2019s <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/relational-databases\/statistics\/statistics?view=sql-server-2017\">Statistics documentation<\/a>.\u00a0 This threshold was originally introduced with <a href=\"https:\/\/docs.microsoft.com\/en-us\/sql\/t-sql\/database-console-commands\/dbcc-traceon-trace-flags-transact-sql?view=sql-server-2017\">trace flag 2371<\/a> to lower the threshold for automatic updates.\u00a0 It is applied by default started in SQL Server 2016 when using compatibility level 130.\u00a0 My assumption is that Ola determined this was a good threshold to use as a fail-safe\/catch-all for his script, and I think it was smart move on his part.\u00a0 In general, I\u2019d rather have statistics update too often, rather than not often enough.\u00a0 However, using the new @StatisticsModificationLevel option gives us better control than we\u2019ve had previously, unless we write a custom script (which is still an option\u2026do what works best for you!).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am a HUGE fan of updating statistics as part of regular maintenance.\u00a0 In fact, if you don\u2019t know if you have a step or job that updates out of statistics on a regular basis, go check now!\u00a0 This post will still be here when you get back &#x1f60a; At any rate, for a long [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Updating Statistics with Ola Hallengren\u2019s Script - Erin Stellato<\/title>\n<meta name=\"description\" content=\"There are multiple methods for updating statistics in SQL Server, and Ola Hallengren&#039;s script now makes it easier and more customizable than ever.\" \/>\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.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Updating Statistics with Ola Hallengren\u2019s Script - Erin Stellato\" \/>\n<meta property=\"og:description\" content=\"There are multiple methods for updating statistics in SQL Server, and Ola Hallengren&#039;s script now makes it easier and more customizable than ever.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/\" \/>\n<meta property=\"og:site_name\" content=\"Erin Stellato\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-22T14:49:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-06-24T02:16:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/update-stats.jpg\" \/>\n<meta name=\"author\" content=\"Erin Stellato\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Erin Stellato\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/\",\"name\":\"Updating Statistics with Ola Hallengren\u2019s Script - Erin Stellato\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#website\"},\"datePublished\":\"2018-06-22T14:49:10+00:00\",\"dateModified\":\"2018-06-24T02:16:02+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158\"},\"description\":\"There are multiple methods for updating statistics in SQL Server, and Ola Hallengren's script now makes it easier and more customizable than ever.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Updating Statistics with Ola Hallengren\u2019s Script\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/\",\"name\":\"Erin Stellato\",\"description\":\"The SQL Sequel\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158\",\"name\":\"Erin Stellato\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g\",\"caption\":\"Erin Stellato\"},\"sameAs\":[\"http:\/\/3.209.169.194\/blogs\/erin\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/erin\/author\/erin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Updating Statistics with Ola Hallengren\u2019s Script - Erin Stellato","description":"There are multiple methods for updating statistics in SQL Server, and Ola Hallengren's script now makes it easier and more customizable than ever.","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.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/","og_locale":"en_US","og_type":"article","og_title":"Updating Statistics with Ola Hallengren\u2019s Script - Erin Stellato","og_description":"There are multiple methods for updating statistics in SQL Server, and Ola Hallengren's script now makes it easier and more customizable than ever.","og_url":"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/","og_site_name":"Erin Stellato","article_published_time":"2018-06-22T14:49:10+00:00","article_modified_time":"2018-06-24T02:16:02+00:00","og_image":[{"url":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-content\/uploads\/2018\/06\/update-stats.jpg"}],"author":"Erin Stellato","twitter_misc":{"Written by":"Erin Stellato","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/","url":"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/","name":"Updating Statistics with Ola Hallengren\u2019s Script - Erin Stellato","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#website"},"datePublished":"2018-06-22T14:49:10+00:00","dateModified":"2018-06-24T02:16:02+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158"},"description":"There are multiple methods for updating statistics in SQL Server, and Ola Hallengren's script now makes it easier and more customizable than ever.","breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/updating-statistics-with-ola-hallengrens-script\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/erin\/"},{"@type":"ListItem","position":2,"name":"Updating Statistics with Ola Hallengren\u2019s Script"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/erin\/","name":"Erin Stellato","description":"The SQL Sequel","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/erin\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/76170223ffffa1df03fd9be5b66cb158","name":"Erin Stellato","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/erin\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0c8b485bd54ea26b57e99f79b525f409?s=96&d=mm&r=g","caption":"Erin Stellato"},"sameAs":["http:\/\/3.209.169.194\/blogs\/erin"],"url":"https:\/\/www.sqlskills.com\/blogs\/erin\/author\/erin\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/posts\/932"}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/comments?post=932"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/posts\/932\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/media?parent=932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/categories?post=932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/erin\/wp-json\/wp\/v2\/tags?post=932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}