{"id":71516,"date":"2017-06-30T12:40:03","date_gmt":"2017-06-30T12:40:03","guid":{"rendered":"https:\/\/www.simple-talk.com\/?p=71516"},"modified":"2021-08-24T13:39:23","modified_gmt":"2021-08-24T13:39:23","slug":"sql-server-2017-new-queries-high-variation-graph","status":"publish","type":"post","link":"https:\/\/www.red-gate.com\/simple-talk\/blogs\/sql-server-2017-new-queries-high-variation-graph\/","title":{"rendered":"SQL Server 2017: New &#8216;Queries with high variation&#8217; Graph"},"content":{"rendered":"<p>A few weeks ago I published an interesting article about how to <a href=\"https:\/\/www.simple-talk.com\/sql\/database-administration\/query-store-parameterization-problems\/\">use query store to identify parameterization problems<\/a>.<\/p>\n<p>At that point I hadn&#8217;t played with the new SQL Server 2017. While later, when I did, I got surprised by the new <strong>&#8216;Queries with High Variation&#8217;<\/strong> graph included in query store. This new graph can help you identifying parameterization problems.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-71518\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2017\/06\/paramgraph1.png\" alt=\"Queries with high variation graph\" width=\"337\" height=\"315\" \/><\/p>\n<p>As I explained in the article, parameterization problems creates a high variation of the query execution. Sometimes the query runs well and very fast, sometimes the query will be very slow. <strong>Query Store<\/strong> keeps track of the standard deviation of the query execution and, due to the parameterization problem, the standard deviation will be high.<\/p>\n<p>The new graph, <strong>&#8216;Queries with High Variation&#8217;<\/strong>, allows us to easily identify the queries with most severe parameterization problems. We can use the graph to achieve a first view of these queries and only after that get more details using the queries I explained my previous article.<\/p>\n<p>In the <strong>&#8220;Based On&#8221;<\/strong> box, over the graph, we have two options: Variation or Standard Deviation. The <strong>&#8216;Standard Deviation&#8217;<\/strong> option gives a better result to illustrate parameterization problems. I suggest the use of <strong>&#8216;Standard Deviation&#8217;<\/strong> together <strong>&#8216;CPU Time&#8217;<\/strong> in the box <strong>&#8216;Metric&#8217;<\/strong> to achieve better result.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-71519 size-full\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2017\/06\/paramgraph2.png\" alt=\"standard deviation\" width=\"490\" height=\"96\" \/><\/p>\n<p>Let&#8217;s do a small walkthrough to illustrate how this new graph will react to a parameterization problem.<\/p>\n<p>1) The following script will create a new database. Don&#8217;t forget to correct the path of the files.<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">use<\/span>\u00a0<span style=\"color: maroon\">master<\/span> <br \/>\n <span style=\"color: maroon\">go<\/span> <\/p>\n<p> <span style=\"color: green\"><i>&#8212;\u00a0Criando\u00a0todo\u00a0o\u00a0ambiente<\/i><\/span> <br \/>\n <span style=\"color: blue\">drop<\/span>\u00a0<span style=\"color: blue\">database<\/span>\u00a0<span style=\"color: blue\">if<\/span>\u00a0<span style=\"color: blue\">exists<\/span>\u00a0<span style=\"color: maroon\">qstore_demo<\/span> <\/p>\n<p> <span style=\"color: blue\">CREATE<\/span>\u00a0<span style=\"color: blue\">DATABASE<\/span>\u00a0<span style=\"color: maroon\">[qstore_demo]<\/span> <br \/>\n <span style=\"color: blue\">ON<\/span>\u00a0<span style=\"color: blue\">PRIMARY<\/span> <br \/>\n <span style=\"color: maroon\">(<\/span>\u00a0<span style=\"color: maroon\">NAME<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: red\">N&#8217;qs_demo&#8217;<\/span><span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">FILENAME<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: red\">N&#8217;C:\\dbfiles\\qs_demo.mdf&#8217;<\/span>\u00a0<span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">SIZE<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: black\">102400<\/span><span style=\"color: maroon\">KB<\/span>\u00a0<span style=\"color: silver\">,<\/span> <br \/>\n <span style=\"color: maroon\">MAXSIZE<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: black\">1024000<\/span><span style=\"color: maroon\">KB<\/span>\u00a0<span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">FILEGROWTH<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: black\">20480<\/span><span style=\"color: maroon\">KB<\/span>\u00a0<span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: maroon\">LOG<\/span>\u00a0<span style=\"color: blue\">ON<\/span> <br \/>\n <span style=\"color: maroon\">(<\/span>\u00a0<span style=\"color: maroon\">NAME<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: red\">N&#8217;qs_demo_log&#8217;<\/span><span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">FILENAME<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: red\">N&#8217;C:\\dbfiles\\qs_demo_log.ldf&#8217;<\/span>\u00a0<span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">SIZE<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: black\">50480<\/span><span style=\"color: maroon\">KB<\/span>\u00a0<span style=\"color: silver\">,<\/span> <br \/>\n <span style=\"color: maroon\">MAXSIZE<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: black\">1024000<\/span><span style=\"color: maroon\">KB<\/span>\u00a0<span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">FILEGROWTH<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: black\">20480<\/span><span style=\"color: maroon\">KB<\/span>\u00a0<span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: maroon\">GO<\/span> <br \/>\n <span style=\"color: blue\">ALTER<\/span>\u00a0<span style=\"color: blue\">DATABASE<\/span>\u00a0<span style=\"color: maroon\">[qstore_demo]<\/span>\u00a0<span style=\"color: blue\">SET<\/span>\u00a0<span style=\"color: maroon\">QUERY_STORE<\/span>\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">INTERVAL_LENGTH_MINUTES<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: black\">1<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: maroon\">go<\/span> <br \/>\n <span style=\"color: blue\">ALTER<\/span>\u00a0<span style=\"color: blue\">DATABASE<\/span>\u00a0<span style=\"color: maroon\">[qstore_demo]<\/span>\u00a0<span style=\"color: blue\">SET<\/span>\u00a0<span style=\"color: maroon\">QUERY_STORE<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: maroon\">OFF<\/span> <br \/>\n <span style=\"color: maroon\">GO<\/span> <\/p>\n<p> <span style=\"color: blue\">USE<\/span>\u00a0<span style=\"color: maroon\">qstore_demo<\/span> <br \/>\n <span style=\"color: maroon\">GO<\/span> <\/span><\/div>\n<\/blockquote>\n<p>2) Let&#8217;s create the database objects, a table and a stored procedure<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: green\"><i>&#8212;\u00a0create\u00a0a\u00a0table<\/i><\/span> <br \/>\n <span style=\"color: blue\">CREATE<\/span>\u00a0<span style=\"color: blue\">TABLE<\/span>\u00a0<span style=\"color: maroon\">dbo<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">db_store<\/span>\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">c1<\/span>\u00a0<span style=\"color: black\"><i>CHAR<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: black\">3<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: blue\">NOT<\/span>\u00a0<span style=\"color: blue\">NULL<\/span><span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">c2<\/span>\u00a0<span style=\"color: black\"><i>CHAR<\/i><\/span><span style=\"color: maroon\">(<\/span><span style=\"color: black\">3<\/span><span style=\"color: maroon\">)<\/span>\u00a0<span style=\"color: blue\">NOT<\/span>\u00a0<span style=\"color: blue\">NULL<\/span><span style=\"color: silver\">,<\/span> <br \/>\n <span style=\"color: maroon\">c3<\/span>\u00a0<span style=\"color: black\"><i>SMALLINT<\/i><\/span>\u00a0<span style=\"color: blue\">NULL<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: maroon\">GO<\/span><span style=\"color: blue\">CREATE<\/span>\u00a0<span style=\"color: blue\">NONCLUSTERED<\/span>\u00a0<span style=\"color: blue\">INDEX<\/span>\u00a0<span style=\"color: maroon\">NCI_1<\/span> <br \/>\n <span style=\"color: blue\">ON<\/span>\u00a0<span style=\"color: maroon\">dbo<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">db_store<\/span>\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">c3<\/span><span style=\"color: maroon\">)<\/span><span style=\"color: maroon\">GO<\/span> <\/p>\n<p> <span style=\"color: green\"><i>&#8212;\u00a0create\u00a0a\u00a0stored\u00a0procedure<\/i><\/span><\/span><\/div>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"><span style=\"color: blue\">CREATE<\/span>\u00a0<span style=\"color: blue\">PROC<\/span>\u00a0<span style=\"color: maroon\">dbo<\/span><span style=\"color: silver\">.<\/span><span style=\"color: #ff0080\"><b>proc_1<\/b><\/span>\u00a0<span style=\"color: #8000ff\">@par1<\/span>\u00a0<span style=\"color: black\"><i>SMALLINT<\/i><\/span> <br \/>\n <span style=\"color: blue\">AS<\/span> <br \/>\n <span style=\"color: blue\">SET<\/span>\u00a0<span style=\"color: maroon\">NOCOUNT<\/span>\u00a0<span style=\"color: blue\">ON<\/span> <br \/>\n <span style=\"color: blue\">SELECT<\/span>\u00a0<span style=\"color: maroon\">c1<\/span><span style=\"color: silver\">,<\/span>\u00a0<span style=\"color: maroon\">c2<\/span>\u00a0<span style=\"color: blue\">FROM<\/span>\u00a0<span style=\"color: maroon\">dbo<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">db_store<\/span> <br \/>\n <span style=\"color: blue\">WHERE<\/span>\u00a0<span style=\"color: maroon\">c3<\/span>\u00a0<span style=\"color: silver\">=<\/span>\u00a0<span style=\"color: #8000ff\">@par1<\/span><\/span><\/div>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"><span style=\"color: maroon\">GO<\/span> <\/span><\/div>\n<\/blockquote>\n<p>3) Insert a lot of records. This will take a while to execute. Pay heed to the uneven data distribution in field c3.<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">SET<\/span>\u00a0<span style=\"color: maroon\">nocount<\/span>\u00a0<span style=\"color: blue\">ON<\/span> <br \/>\n <span style=\"color: maroon\">go<\/span> <\/p>\n<p> <span style=\"color: blue\">INSERT<\/span>\u00a0<span style=\"color: blue\">INTO<\/span>\u00a0<span style=\"color: maroon\">[dbo]<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">db_store<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">c1<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">c2<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">c3<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: blue\">SELECT<\/span>\u00a0<span style=\"color: red\">&#8217;18&#8217;<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: red\">&#8216;2f&#8217;<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: black\">2<\/span> <\/p>\n<p> <span style=\"color: maroon\">go<\/span> <span style=\"color: black\">20000<\/span> <\/p>\n<p> <span style=\"color: blue\">INSERT<\/span>\u00a0<span style=\"color: blue\">INTO<\/span>\u00a0<span style=\"color: maroon\">[dbo]<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">db_store<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">c1<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">c2<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: blue\">SELECT<\/span>\u00a0<span style=\"color: red\">&#8216;171&#8217;<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: red\">&#8216;1ff&#8217;<\/span> <\/p>\n<p> <span style=\"color: maroon\">go<\/span> <span style=\"color: black\">4000<\/span> <\/p>\n<p> <span style=\"color: blue\">INSERT<\/span>\u00a0<span style=\"color: blue\">INTO<\/span>\u00a0<span style=\"color: maroon\">[dbo]<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">db_store<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">c1<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">c2<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">c3<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: blue\">SELECT<\/span>\u00a0<span style=\"color: red\">&#8216;172&#8217;<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: red\">&#8216;1ff&#8217;<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: black\">0<\/span> <\/p>\n<p> <span style=\"color: maroon\">go<\/span> <span style=\"color: black\">10<\/span> <\/p>\n<p> <span style=\"color: blue\">INSERT<\/span>\u00a0<span style=\"color: blue\">INTO<\/span>\u00a0<span style=\"color: maroon\">[dbo]<\/span><span style=\"color: silver\">.<\/span><span style=\"color: maroon\">db_store<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">(<\/span><span style=\"color: maroon\">c1<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">c2<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: maroon\">c3<\/span><span style=\"color: maroon\">)<\/span> <br \/>\n <span style=\"color: blue\">SELECT<\/span>\u00a0<span style=\"color: red\">&#8216;172&#8217;<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: red\">&#8216;1ff&#8217;<\/span><span style=\"color: silver\">,<\/span> <br \/>\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<span style=\"color: black\">4<\/span> <\/p>\n<p> <span style=\"color: maroon\">go<\/span> <span style=\"color: black\">15000<\/span>\u00a0 <\/span><\/div>\n<\/blockquote>\n<p>4) Execute the procedure. Using &#8216;0&#8217; as the parameter the procedure will use the index.<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">EXEC<\/span>\u00a0<span style=\"color: maroon\">dbo<\/span><span style=\"color: silver\">.<\/span><span style=\"color: #ff0080;font-weight: bold\">Proc_1<\/span> <span style=\"color: black\">0<\/span> <br \/>\n <span style=\"color: maroon\">go<\/span> <span style=\"color: black\">20<\/span>\u00a0 <\/span><\/div>\n<\/blockquote>\n<p>5) Execute the procedure again, with a different parameter, &#8216;2&#8217;. This time the procedure shouldn&#8217;t use the index, but it will because the plan is already in the cache.<\/p>\n<blockquote>\n<div><span style=\"font-family: Courier New;font-size: 10pt\"> <span style=\"color: blue\">EXEC<\/span>\u00a0<span style=\"color: maroon\">dbo<\/span><span style=\"color: silver\">.<\/span><span style=\"color: #ff0080;font-weight: bold\">Proc_1<\/span> <span style=\"color: black\">2<\/span> <br \/>\n <span style=\"color: maroon\">go<\/span> <span style=\"color: black\">20<\/span>\u00a0 <\/span><\/div>\n<\/blockquote>\n<p>6) Check the <strong>&#8216;Queries with high variation&#8217;<\/strong> graph, selecting <strong>&#8216;CPU Time&#8217;<\/strong> and <strong>&#8216;Standard Deviation&#8217;<\/strong> in the boxes <strong>&#8216;Metric&#8217;<\/strong> and <strong>&#8216;Based On&#8217;<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-71517\" src=\"https:\/\/www.red-gate.com\/simple-talk\/wp-content\/uploads\/2017\/06\/Screenshot-99.png\" alt=\"\" width=\"1373\" height=\"700\" \/><\/p>\n<p>As you may notice, our query with parameterization problem has the highest standard deviation in the graph. This graph will call our attention to parameterization problems before we start the queries I explained in the previous article.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A few weeks ago I published an interesting article about how to use query store to identify parameterization problems. At that point I hadn&#8217;t played with the new SQL Server 2017. While later, when I did, I got surprised by the new &#8216;Queries with High Variation&#8217; graph included in query store. This new graph can&#8230;&hellip;<\/p>\n","protected":false},"author":50808,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[2,143527],"tags":[5966],"coauthors":[6810],"class_list":["post-71516","post","type-post","status-publish","format-standard","hentry","category-blogs","category-database-administration-sql-server","tag-monitor"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/71516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/users\/50808"}],"replies":[{"embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/comments?post=71516"}],"version-history":[{"count":3,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/71516\/revisions"}],"predecessor-version":[{"id":83069,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/posts\/71516\/revisions\/83069"}],"wp:attachment":[{"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/media?parent=71516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/categories?post=71516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/tags?post=71516"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.red-gate.com\/simple-talk\/wp-json\/wp\/v2\/coauthors?post=71516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}