{"id":367,"date":"2016-08-19T14:42:41","date_gmt":"2016-08-19T12:42:41","guid":{"rendered":"http:\/\/explainit.pl\/wordpress\/?p=367"},"modified":"2016-08-19T14:42:41","modified_gmt":"2016-08-19T12:42:41","slug":"podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania","status":"publish","type":"post","link":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/","title":{"rendered":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!"},"content":{"rendered":"<p>Czas rozprawi\u0107 si\u0119 ze zbyt cz\u0119sto powtarzan\u0105 herezj\u0105, zanim stanie si\u0119 prawd\u0105&#8230;<\/p>\n<p>Elementem techniki kosztowej optymalizacji zapyta\u0144 jest szacowanie koszt\u00f3w alternatywnych plan\u00f3w wykonania zapytania. Odbywa si\u0119 ono automatycznie podczas przetwarzania polecenia SQL przez optymalizator zapyta\u0144. Plan wykonania, kt\u00f3rego szacowany koszt okaza\u0142 si\u0119 najni\u017cszy ze wszystkich rozwa\u017canych, jest wybierany jako plan do realizacji. Programista ma mo\u017cliwo\u015b\u0107 obejrzenia zarysu najlepszego (najta\u0144szego) planu wykonania zapytania (np. poleceniem EXPLAIN PLAN FOR lub &#8211; lepiej &#8211; zapytaniem do funkcji pakietu DBMS_XPLAN). Wraz ze struktur\u0105 planu wykonania prezentowana jest w\u0142a\u015bnie zwyci\u0119ska warto\u015b\u0107 kosztu tego planu. I tu zaczynaj\u0105 si\u0119 problemy&#8230;<\/p>\n<p>Funkcjonuje do\u015b\u0107 powszechne, b\u0142\u0119dne przekonanie, \u017ce wy\u015bwietlany koszt planu wykonania zapytania nale\u017cy traktowa\u0107 jako reprezentacj\u0119 szacowanego czasu jego wykonania. Czyli, \u017ce wy\u017cszy koszt = d\u0142u\u017cszy czas, ni\u017cszy koszt = kr\u00f3tszy czas, dwukrotnie wy\u017cszy koszt = dwukrotnie wy\u017cszy czas, itp. Niestety, tak mo\u017cna by\u0142o rozumie\u0107 koszt wiele lat temu, kiedy Oracle sam interpretowa\u0142 jednostk\u0119 kosztu jako czas pojedynczej operacji dyskowego wej\u015bcia-wyj\u015bcia. Obecnie formu\u0142y szacowania kosztu s\u0105 tak bardzo &#8222;ska\u017cone&#8221; r\u00f3\u017cnymi korektami, wagami, preferencjami, itp., \u017ce nale\u017cy ca\u0142kowicie odst\u0105pi\u0107 od pomys\u0142u zestawiania koszt\u00f3w dla DW\u00d3CH R\u00d3\u017bNYCH ZAPYTA\u0143 i wyci\u0105gania z tego jakichkolwiek wniosk\u00f3w. Koszt ma sens wy\u0142\u0105cznie podczas por\u00f3wnywania alternatywnych plan\u00f3w TEGO SAMEGO zapytania &#8211; to w\u0142a\u015bnie robi optymalizator kosztowy podczas pracy. Je\u015bli zale\u017cy nam na por\u00f3wnaniu czas\u00f3w wykonania dw\u00f3ch zapyta\u0144, to je po prostu wykonajmy i zmierzmy czas (lub przeanalizujmy statystyki wykonania).<\/p>\n<p>Zwr\u00f3\u0107my uwag\u0119 na poni\u017cszy przyk\u0142ad dw\u00f3ch prostych zapyta\u0144 pobieraj\u0105cych wszystkie rekordy z tej samej tabeli. Pierwsze zapytanie pos\u0142uguje si\u0119 hintem wymuszaj\u0105cym wykonanie sekwencyjne, drugie zapytanie wymusza zr\u00f3wnoleglenie wykonania w stopniu 200. Przyjrzyjmy si\u0119 czasowi wykonania pierwszego zapytania &#8211; 40 sekund, drugiego &#8211; 42 sekundy. A koszty? Prosz\u0119 bardzo &#8211; szybsze zapytanie (sekwencyjne) prezentuje koszt 1231, a drugie, wolniejsze zapytanie (zr\u00f3wnoleglone) &#8211; koszt 7!!! Pewnie programista widz\u0105c koszt 7 ucieszy si\u0119 z ogromnej poprawy wydajno\u015bci&#8230;<\/p>\n<p><code>SQL&gt; select \/*+ NO_PARALLEL *\/ * from sales_t;<br \/>\n10107273 rows selected.<br \/>\nElapsed: 00:00:40.68<br \/>\n&nbsp;<br \/>\nExecution Plan<br \/>\n-----------------------------------------------------------------------------<br \/>\n| Id\u00a0 | Operation\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | Name\u00a0\u00a0\u00a0 | Rows\u00a0 | Bytes | Cost (%CPU)| Time\u00a0\u00a0 \u00a0\u00a0|<br \/>\n-----------------------------------------------------------------------------<br \/>\n|\u00a0\u00a0 0 | SELECT STATEMENT\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0 918K|\u00a0\u00a0\u00a0 25M|\u00a0 1231\u00a0\u00a0 (1)| 00:00:01 |<br \/>\n|\u00a0\u00a0 1 |\u00a0 TABLE ACCESS FULL| SALES_T |\u00a0\u00a0 918K|\u00a0\u00a0\u00a0 25M|\u00a0 1231\u00a0\u00a0 (1)| 00:00:01 |<br \/>\n-----------------------------------------------------------------------------<br \/>\n&nbsp;<br \/>\nSQL&gt; select \/*+ PARALLEL(200) *\/ * from sales_t<br \/>\n10107273 rows selected.<br \/>\nElapsed: 00:00:42.73<br \/>\n&nbsp;<br \/>\nExecution Plan<br \/>\n--------------------------------------------------------------------------------<br \/>\n| Id\u00a0 | Operation\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 | Name\u00a0\u00a0\u00a0\u00a0 | Rows\u00a0 | Bytes | Cost (%CPU)| Time\u00a0\u00a0\u00a0 |<br \/>\n--------------------------------------------------------------------------------<br \/>\n|\u00a0\u00a0 0 | SELECT STATEMENT\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0 918K|\u00a0\u00a0\u00a0 25M|\u00a0\u00a0\u00a0\u00a0 7\u00a0\u00a0 (0)| 00:00:01|<br \/>\n|\u00a0\u00a0 1 |\u00a0 PX COORDINATOR\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0<br \/>\n|\u00a0\u00a0 2 |\u00a0\u00a0 PX SEND QC (RANDOM)| :TQ10000 |\u00a0\u00a0 918K|\u00a0\u00a0\u00a0 25M|\u00a0\u00a0\u00a0\u00a0 7\u00a0\u00a0 (0)| 00:00:01|<br \/>\n|\u00a0\u00a0 3 |\u00a0\u00a0\u00a0 PX BLOCK ITERATOR |\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0\u00a0 918K|\u00a0\u00a0\u00a0 25M|\u00a0\u00a0\u00a0\u00a0 7\u00a0\u00a0 (0)| 00:00:01|<br \/>\n|\u00a0\u00a0 4 |\u00a0\u00a0\u00a0\u00a0 TABLE ACCESS FULL| SALES_T\u00a0 |\u00a0\u00a0 918K|\u00a0\u00a0\u00a0 25M|\u00a0\u00a0\u00a0\u00a0 7\u00a0\u00a0 (0)| 00:00:01|<br \/>\n--------------------------------------------------------------------------------<br \/>\n<\/code><\/p>\n<p>Kwesti\u0119 pos\u0142ugiwania si\u0119 kosztem planu wykonania zapytania znakomicie skomentowa\u0142 kiedy\u015b <a href=\"https:\/\/asktom.oracle.com\/pls\/asktom\/f?p=100:11:0::::P11_QUESTION_ID:313416745628\">Tom Kyte<\/a>:<\/p>\n<p><code>I don't know how to say it<br \/>\nI'll shout<br \/>\nTHE COST HAS NOTHING WHATSOEVER TO DO WITH THE RUNTIME PERFORMANCE OF A QUERY.<br \/>\nYOU CANNOT COMPARE THEM AND SAY \"THIS WILL BE FASTER\"<br \/>\nIT IS NOT A BUG, IT IS A DESIGN FEATURE, THE WAY IT WORKS.\u00a0 IT IS DOING THIS ON PURPOSE.<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Czas rozprawi\u0107 si\u0119 ze zbyt cz\u0119sto powtarzan\u0105 herezj\u0105, zanim stanie si\u0119 prawd\u0105&#8230; Elementem techniki kosztowej optymalizacji zapyta\u0144 jest szacowanie koszt\u00f3w alternatywnych plan\u00f3w wykonania zapytania. Odbywa si\u0119 ono automatycznie podczas przetwarzania polecenia SQL przez optymalizator zapyta\u0144. Plan wykonania, kt\u00f3rego szacowany koszt okaza\u0142 si\u0119 najni\u017cszy ze wszystkich rozwa\u017canych, jest wybierany jako plan do realizacji. Programista ma mo\u017cliwo\u015b\u0107 <a href=\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\" rel=\"nofollow\"><span class=\"sr-only\">Read more about Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!<\/span>[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[12],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.2.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania! - Explain IT<\/title>\n<meta name=\"description\" content=\"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania! - Explain IT\" \/>\n<meta property=\"og:description\" content=\"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\" \/>\n<meta property=\"og:site_name\" content=\"Explain IT\" \/>\n<meta property=\"article:published_time\" content=\"2016-08-19T12:42:41+00:00\" \/>\n<meta name=\"author\" content=\"Maciej Zakrzewicz\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napisane przez\" \/>\n\t<meta name=\"twitter:data1\" content=\"Maciej Zakrzewicz\" \/>\n\t<meta name=\"twitter:label2\" content=\"Szacowany czas czytania\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\"},\"author\":{\"name\":\"Maciej Zakrzewicz\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/740773131bc169a2dc9c0e5e07476219\"},\"headline\":\"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!\",\"datePublished\":\"2016-08-19T12:42:41+00:00\",\"dateModified\":\"2016-08-19T12:42:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\"},\"wordCount\":371,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/#organization\"},\"keywords\":[\"optymalizator\"],\"articleSection\":[\"Oracle Database\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\",\"url\":\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\",\"name\":\"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania! - Explain IT\",\"isPartOf\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/#website\"},\"datePublished\":\"2016-08-19T12:42:41+00:00\",\"dateModified\":\"2016-08-19T12:42:41+00:00\",\"description\":\"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!\",\"breadcrumb\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/explainit.pl\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/#website\",\"url\":\"https:\/\/explainit.pl\/wordpress\/\",\"name\":\"Explain IT\",\"description\":\"Autorska pracownia doradztwa i szkole\u0144 IT - Maciej Zakrzewicz - szkolenia, ekspertyzy, wdro\u017cenia. Technologie Oracle, PostgreSQL, MySQL.\",\"publisher\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/explainit.pl\/wordpress\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"pl-PL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/#organization\",\"name\":\"Explain IT\",\"url\":\"https:\/\/explainit.pl\/wordpress\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/explainit.pl\/wordpress\/wp-content\/uploads\/2016\/08\/explainITmini.png\",\"contentUrl\":\"https:\/\/explainit.pl\/wordpress\/wp-content\/uploads\/2016\/08\/explainITmini.png\",\"width\":196,\"height\":64,\"caption\":\"Explain IT\"},\"image\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/740773131bc169a2dc9c0e5e07476219\",\"name\":\"Maciej Zakrzewicz\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pl-PL\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9c98d020128b142a480aa35a22300a69?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9c98d020128b142a480aa35a22300a69?s=96&d=mm&r=g\",\"caption\":\"Maciej Zakrzewicz\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania! - Explain IT","description":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!","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:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/","og_locale":"pl_PL","og_type":"article","og_title":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania! - Explain IT","og_description":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!","og_url":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/","og_site_name":"Explain IT","article_published_time":"2016-08-19T12:42:41+00:00","author":"Maciej Zakrzewicz","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Maciej Zakrzewicz","Szacowany czas czytania":"3 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#article","isPartOf":{"@id":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/"},"author":{"name":"Maciej Zakrzewicz","@id":"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/740773131bc169a2dc9c0e5e07476219"},"headline":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!","datePublished":"2016-08-19T12:42:41+00:00","dateModified":"2016-08-19T12:42:41+00:00","mainEntityOfPage":{"@id":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/"},"wordCount":371,"commentCount":0,"publisher":{"@id":"https:\/\/explainit.pl\/wordpress\/#organization"},"keywords":["optymalizator"],"articleSection":["Oracle Database"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/","url":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/","name":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania! - Explain IT","isPartOf":{"@id":"https:\/\/explainit.pl\/wordpress\/#website"},"datePublished":"2016-08-19T12:42:41+00:00","dateModified":"2016-08-19T12:42:41+00:00","description":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!","breadcrumb":{"@id":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/explainit.pl\/wordpress\/2016\/08\/19\/podstawy-oracle-database-uwaga-na-koszt-planu-wykonania-zapytania\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/explainit.pl\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Podstawy Oracle Database: uwaga na koszt planu wykonania zapytania!"}]},{"@type":"WebSite","@id":"https:\/\/explainit.pl\/wordpress\/#website","url":"https:\/\/explainit.pl\/wordpress\/","name":"Explain IT","description":"Autorska pracownia doradztwa i szkole\u0144 IT - Maciej Zakrzewicz - szkolenia, ekspertyzy, wdro\u017cenia. Technologie Oracle, PostgreSQL, MySQL.","publisher":{"@id":"https:\/\/explainit.pl\/wordpress\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/explainit.pl\/wordpress\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"pl-PL"},{"@type":"Organization","@id":"https:\/\/explainit.pl\/wordpress\/#organization","name":"Explain IT","url":"https:\/\/explainit.pl\/wordpress\/","logo":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/explainit.pl\/wordpress\/#\/schema\/logo\/image\/","url":"https:\/\/explainit.pl\/wordpress\/wp-content\/uploads\/2016\/08\/explainITmini.png","contentUrl":"https:\/\/explainit.pl\/wordpress\/wp-content\/uploads\/2016\/08\/explainITmini.png","width":196,"height":64,"caption":"Explain IT"},"image":{"@id":"https:\/\/explainit.pl\/wordpress\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/740773131bc169a2dc9c0e5e07476219","name":"Maciej Zakrzewicz","image":{"@type":"ImageObject","inLanguage":"pl-PL","@id":"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9c98d020128b142a480aa35a22300a69?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9c98d020128b142a480aa35a22300a69?s=96&d=mm&r=g","caption":"Maciej Zakrzewicz"}}]}},"_links":{"self":[{"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/posts\/367"}],"collection":[{"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/comments?post=367"}],"version-history":[{"count":6,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/posts\/367\/revisions"}],"predecessor-version":[{"id":373,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/posts\/367\/revisions\/373"}],"wp:attachment":[{"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/media?parent=367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/categories?post=367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/tags?post=367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}