{"id":266,"date":"2016-01-05T11:56:51","date_gmt":"2016-01-05T10:56:51","guid":{"rendered":"http:\/\/explainit.pl\/wordpress\/?p=266"},"modified":"2016-08-09T18:52:04","modified_gmt":"2016-08-09T16:52:04","slug":"gdzie-sa-moje-histogramy-slow-kilka-o-size-auto","status":"publish","type":"post","link":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/","title":{"rendered":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO"},"content":{"rendered":"<p>Dla poprawnego dzia\u0142ania, kosztowy optymalizator zapyta\u0144 musi posiada\u0107 wiedz\u0119 o rozk\u0142adzie warto\u015bci kolumny, na kt\u00f3rej oparty jest predykat w zapytaniu. Wiedz\u0119 tak\u0105 mo\u017ce pozyska\u0107 na trzy sposoby: (1) pobieraj\u0105c losow\u0105 pr\u00f3bk\u0119 danych w chwili wykonywania zapytania (dynamic sampling), (2) pos\u0142uguj\u0105c si\u0119 wcze\u015bniej zebranymi statystykami podstawowymi i przyjmuj\u0105c rozk\u0142ad jednorodny warto\u015bci, (3) pos\u0142uguj\u0105c si\u0119 zebranym wcze\u015bniej histogramem i odczytuj\u0105c z niego charakterystyk\u0119 rozk\u0142adu warto\u015bci. W systemach OLTP b\u0119dziemy zwykle unikali Dynamic Samplingu na rzecz w\u0142a\u015bciwie zbieranych statystyk lub histogram\u00f3w. Wa\u017cn\u0105 decyzj\u0105 projektanta lub administratora bazy danych jest okre\u015blenie, dla kt\u00f3rych kolumn powinny by\u0107 zbierane statystyki podstawowe, a dla kt\u00f3rych histogramy. Generalnie rzecz ujmuj\u0105c, histogramy przydatne s\u0105 wtedy, gdy: (1) warto\u015bci kolumny cechuj\u0105 si\u0119 nier\u00f3wnomiernym rozk\u0142adem i (2) kolumna jest wykorzystywana w predykatach selekcji. Zwykle w celu &#8222;u\u0142atwienia sobie \u017cycia&#8221; administratorzy powierzaj\u0105 serwerowi bazy danych podj\u0119cie decyzji, dla kt\u00f3rych kolumn powinny zosta\u0107 wygenerowane histogramy, a kt\u00f3rym kolumnom wystarcz\u0105 statystyki podstawowe. Aby aktywowa\u0107 taki automatyzm, w wywo\u0142aniach procedur pakietu DBMS_STATS po prostu pos\u0142ugujemy si\u0119 klauzul\u0105 &#8222;FOR ALL COLUMNS SIZE AUTO&#8221;. Warto jednak rozumie\u0107 specyfik\u0119 jej dzia\u0142ania, aby unikn\u0105\u0107 zgubnych niespodzianek.<\/p>\n<p>Gdy gromadzimy statystyki z opcj\u0105 METHOD_OPT=&gt;&#8217;FOR ALL COLUMNS SIZE AUTO&#8217;, serwer bazy danych podejmuje decyzj\u0119 o wygenerowaniu histogramu dla kolumny je\u017celi spe\u0142nione s\u0105 nast\u0119puj\u0105ce warunki:<\/p>\n<ol>\n<li>kolumna uczestniczy w predykatach r\u00f3wno\u015bciowych lub zakresowych zapyta\u0144 SQL &#8211; w tym celu serwer zlicza ka\u017cde wyst\u0105pienie kolumny w predykatach za pomoc\u0105 tabeli systemowej SYS.COL_USAGE$ (sk\u0105din\u0105d bardzo przydatna tabela)<\/li>\n<li>rozk\u0142ad warto\u015bci kolumny jest nier\u00f3wnomierny (skewed), co oznacza, \u017ce r\u00f3\u017cne warto\u015bci wyst\u0119puj\u0105 z r\u00f3\u017cn\u0105 cz\u0119sto\u015bci\u0105 albo, \u017ce nast\u0119puj\u0105 du\u017ce nieci\u0105g\u0142o\u015bci dziedziny warto\u015bci (nawet unikalnych &#8211; patrz zdziwienie Hermanta Chitale w <a href=\"http:\/\/hemantoracledba.blogspot.com\/2008\/11\/histogram-skew-on-unique-values.html\">http:\/\/hemantoracledba.blogspot.com\/2008\/11\/histogram-skew-on-unique-values.html<\/a>)<\/li>\n<\/ol>\n<p>Nie nale\u017cy si\u0119 zatem spodziewa\u0107 automatycznego wygenerowania histogramu dla kolumny, kt\u00f3rej nigdy jeszcze nie u\u017cyli\u015bmy w predykacie zapytania SQL, b\u0105d\u017a kt\u00f3rej warto\u015bci s\u0105 ci\u0105g\u0142e i r\u00f3wnomiernie roz\u0142o\u017cone. Zademonstrujmy to na poni\u017cszym przyk\u0142adzie.<\/p>\n<p>Tabela S_TEST b\u0119dzie posiada\u0107 dwie kolumny, C_UNIFORM (rozk\u0142ad r\u00f3wnomierny, ci\u0105g\u0142y) i C_SKEWED (dwie warto\u015bci o zr\u00f3\u017cnicowanej cz\u0119sto\u015bci &#8211; 90% 'MALE&#8217;, 10% 'FEMALE&#8217;). W pierwszym kroku spr\u00f3bujmy po prostu zebra\u0107 dla niej statystyki w spos\u00f3b automatyczny, a nast\u0119pnie zweryfikowa\u0107, jakiego rodzaju statystyki zosta\u0142y wygenerowane.<\/p>\n<p><code>create table s_test(c_uniform number(6), c_skew varchar2(6));<\/code><\/p>\n<p><code>declare<br \/>\nsex varchar2(6);<br \/>\nbegin<br \/>\nfor i in 1..100 loop<br \/>\nif i&lt;=90 then sex:='MALE'; else sex:='FEMALE'; end if;<br \/>\ninsert into s_test values (i,sex);<br \/>\nend loop;<br \/>\nend;<br \/>\n\/<\/code><\/p>\n<p><code><br \/>\nexec dbms_stats.gather_table_stats('','S_TEST', method_opt=&gt;'FOR ALL COLUMNS SIZE AUTO');<br \/>\n<\/code><br \/>\n<code>select column_name, num_distinct, histogram from user_tab_columns where table_name='S_TEST';<\/code><br \/>\n<code><br \/>\nCOLUMN_NAME NUM_DISTINCT HISTOGRAM<br \/>\n----------- ------------ ---------<br \/>\nC_UNIFORM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100 NONE<br \/>\nC_SKEW\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 NONE<br \/>\n<\/code><br \/>\nW obu przypadkach serwer bazy danych uzna\u0142, \u017ce wystarcz\u0105 mu statystyki podstawowe, a nie histogramy (HISTOGRAM=NONE). W przypadku kolumny C_UNIFORM jest to zrozumia\u0142e, ale co z kolumn\u0105 C_SKEWED? Ot\u00f3\u017c z powodu braku jakiejkolwiek aktywno\u015bci SQL dotycz\u0105cej tej kolumny (predykaty r\u00f3wno\u015bciowe lub zakresowe), serwer postanowi\u0142 oszcz\u0119dzi\u0107 sobie pracy zwi\u0105zanej z analizowaniem jej warto\u015bci i generowaniem histogramu. Zauwa\u017cmy, jak jednak zmieni si\u0119 to podej\u015bcie w przypadku, gdy u\u017cytkownicy zaczn\u0105 si\u0119 interesowa\u0107 tabel\u0105 S_TEST. Wykonamy dwa predykaty r\u00f3wno\u015bciowe oparte o kolumny C_UNIFORM i C_SKEW, zweryfikujemy w COL_USAGE$, \u017ce serwer odnotowa\u0142 t\u0119 aktywno\u015b\u0107 (wcze\u015bniej FLUSH_DATABASE_MONITORING_INFO(), aby zapisa\u0107 zmiany z pami\u0119ci operacyjnej), nast\u0119pnie ponownie zbierzemy i przeanalizujemy statystyki.<br \/>\n<code><br \/>\nselect count(*) from s_test where c_uniform=50;<br \/>\nselect count(*) from s_test where c_skew='FEMALE';<\/code><br \/>\n<code><br \/>\nexec dbms_stats.flush_database_monitoring_info();<\/code><br \/>\n<code><br \/>\nselect c.column_name, u.equality_preds, u.range_preds, u.like_preds, u.null_preds<br \/>\nfrom sys.col_usage$ u, dba_tab_columns c<br \/>\nwhere u.obj#=(select object_id from dba_objects where object_name='S_TEST' and owner='SYSTEM')<br \/>\nand u.intcol#=c.column_id and c.table_name='S_TEST' and c.owner='SYSTEM';<\/code><br \/>\n<code><br \/>\nCOLUMN_NAME EQUALITY_PREDS RANGE_PREDS LIKE_PREDS NULL_PREDS<br \/>\n----------- -------------- ----------- ---------- ----------<br \/>\nC_SKEW\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0<br \/>\nC_UNIFORM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 0<\/code><br \/>\n<code><br \/>\nexec dbms_stats.gather_table_stats('','S_TEST', method_opt=&gt;'FOR ALL COLUMNS SIZE AUTO');<\/code><br \/>\n<code><br \/>\nselect column_name, num_distinct, histogram from user_tab_columns where table_name='S_TEST';<\/code><br \/>\n<code><br \/>\nCOLUMN_NAME NUM_DISTINCT HISTOGRAM<br \/>\n----------- ------------ ---------<br \/>\nC_UNIFORM\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100 NONE<br \/>\nC_SKEW\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2 FREQUENCY<\/code><\/p>\n<p>Wreszcie jest tak, jak powinno by\u0107. Kolumna C_UNIFORM b\u0119dzie wykorzystywa\u0107 podstawowe statystyki, gdy\u017c jej rozk\u0142ad warto\u015bci jest wzorcowo r\u00f3wnomierny, natomiast dla kolumny C_SKEW serwer postanowi\u0142 wygenerowa\u0107 histogram cz\u0119stotliwo\u015bciowy, kt\u00f3ry pomo\u017ce w\u0142a\u015bciwie szacowa\u0107 selektywno\u015b\u0107 predykat\u00f3w wybieraj\u0105cych nier\u00f3wnomiernie roz\u0142o\u017cone warto\u015bci &#8222;MALE&#8221; lub &#8222;FEMALE&#8221;.<\/p>\n<p>Pami\u0119tajmy: nie u\u017cywamy (kolumny) &#8211; nie dostajemy (histogramu), nawet je\u015bli zas\u0142ugujemy.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dla poprawnego dzia\u0142ania, kosztowy optymalizator zapyta\u0144 musi posiada\u0107 wiedz\u0119 o rozk\u0142adzie warto\u015bci kolumny, na kt\u00f3rej oparty jest predykat w zapytaniu. Wiedz\u0119 tak\u0105 mo\u017ce pozyska\u0107 na trzy sposoby: (1) pobieraj\u0105c losow\u0105 pr\u00f3bk\u0119 danych w chwili wykonywania zapytania (dynamic sampling), (2) pos\u0142uguj\u0105c si\u0119 wcze\u015bniej zebranymi statystykami podstawowymi i przyjmuj\u0105c rozk\u0142ad jednorodny warto\u015bci, (3) pos\u0142uguj\u0105c si\u0119 zebranym wcze\u015bniej <a href=\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\" rel=\"nofollow\"><span class=\"sr-only\">Read more about Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO<\/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":[20],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v20.2.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO - Explain IT<\/title>\n<meta name=\"description\" content=\"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO\" \/>\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\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\" \/>\n<meta property=\"og:locale\" content=\"pl_PL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO - Explain IT\" \/>\n<meta property=\"og:description\" content=\"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO\" \/>\n<meta property=\"og:url\" content=\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\" \/>\n<meta property=\"og:site_name\" content=\"Explain IT\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-05T10:56:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-08-09T16:52:04+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=\"4 minuty\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\"},\"author\":{\"name\":\"Maciej Zakrzewicz\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/740773131bc169a2dc9c0e5e07476219\"},\"headline\":\"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO\",\"datePublished\":\"2016-01-05T10:56:51+00:00\",\"dateModified\":\"2016-08-09T16:52:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\"},\"wordCount\":647,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/#organization\"},\"keywords\":[\"statystyki\"],\"articleSection\":[\"Oracle Database\"],\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\",\"url\":\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\",\"name\":\"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO - Explain IT\",\"isPartOf\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/#website\"},\"datePublished\":\"2016-01-05T10:56:51+00:00\",\"dateModified\":\"2016-08-09T16:52:04+00:00\",\"description\":\"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO\",\"breadcrumb\":{\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#breadcrumb\"},\"inLanguage\":\"pl-PL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Strona g\u0142\u00f3wna\",\"item\":\"https:\/\/explainit.pl\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO\"}]},{\"@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":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO - Explain IT","description":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO","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\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/","og_locale":"pl_PL","og_type":"article","og_title":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO - Explain IT","og_description":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO","og_url":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/","og_site_name":"Explain IT","article_published_time":"2016-01-05T10:56:51+00:00","article_modified_time":"2016-08-09T16:52:04+00:00","author":"Maciej Zakrzewicz","twitter_card":"summary_large_image","twitter_misc":{"Napisane przez":"Maciej Zakrzewicz","Szacowany czas czytania":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#article","isPartOf":{"@id":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/"},"author":{"name":"Maciej Zakrzewicz","@id":"https:\/\/explainit.pl\/wordpress\/#\/schema\/person\/740773131bc169a2dc9c0e5e07476219"},"headline":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO","datePublished":"2016-01-05T10:56:51+00:00","dateModified":"2016-08-09T16:52:04+00:00","mainEntityOfPage":{"@id":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/"},"wordCount":647,"commentCount":0,"publisher":{"@id":"https:\/\/explainit.pl\/wordpress\/#organization"},"keywords":["statystyki"],"articleSection":["Oracle Database"],"inLanguage":"pl-PL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/","url":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/","name":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO - Explain IT","isPartOf":{"@id":"https:\/\/explainit.pl\/wordpress\/#website"},"datePublished":"2016-01-05T10:56:51+00:00","dateModified":"2016-08-09T16:52:04+00:00","description":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO","breadcrumb":{"@id":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#breadcrumb"},"inLanguage":"pl-PL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/explainit.pl\/wordpress\/2016\/01\/05\/gdzie-sa-moje-histogramy-slow-kilka-o-size-auto\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Strona g\u0142\u00f3wna","item":"https:\/\/explainit.pl\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Gdzie s\u0105 moje histogramy? S\u0142\u00f3w kilka o SIZE AUTO"}]},{"@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\/266"}],"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=266"}],"version-history":[{"count":11,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/posts\/266\/revisions"}],"predecessor-version":[{"id":277,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/posts\/266\/revisions\/277"}],"wp:attachment":[{"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/media?parent=266"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/categories?post=266"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/explainit.pl\/wordpress\/wp-json\/wp\/v2\/tags?post=266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}