{"id":2731,"date":"2013-12-03T15:14:21","date_gmt":"2013-12-03T14:14:21","guid":{"rendered":"http:\/\/blog.websupport.cz\/?p=2731"},"modified":"2025-03-11T21:18:18","modified_gmt":"2025-03-11T20:18:18","slug":"efektivne-na-mysql-cast-prvni","status":"publish","type":"post","link":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/","title":{"rendered":"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed"},"content":{"rendered":"<p>V admin odd\u011blen\u00ed se \u010dasto setk\u00e1v\u00e1me s r\u016fzn\u00fdmi probl\u00e9my na\u0161ich z\u00e1kazn\u00edk\u016f, kter\u00e9 jsou ne v\u017edy chybou na stran\u011b samotn\u00e9ho serveru nebo hostingu jako takov\u00e9ho. Proto jsme se rozhodli za\u010d\u00edt ps\u00e1t seri\u00e1l o r\u016fzn\u00fdch tipech, kter\u00e9 by v\u00e1m m\u011bly pomoci pochopit a odstranit n\u011bkter\u00e9 probl\u00e9my se str\u00e1nkami. V t\u00e9to \u010d\u00e1sti se hlavn\u011b za\u010dneme v\u011bnovat MySQL datab\u00e1z\u00edm.<\/p>\n<p><!--more--><\/p>\n<p>Jednou z \u010dast\u00fdch ot\u00e1zek, kterou dost\u00e1v\u00e1me od klient\u016f, je nap\u0159.: &#8222;Pro\u010d je rychlost na\u010d\u00edt\u00e1n\u00ed str\u00e1nky najednou ni\u017e\u0161\u00ed ne\u017e po jej\u00edm spu\u0161t\u011bn\u00ed?&#8220;. Nebo: &#8222;P\u0159i porovn\u00e1n\u00ed rychlosti s t\u00edm, jak mi to b\u011b\u017e\u00ed na lok\u00e1ln\u00edm PC, je na\u010d\u00edt\u00e1n\u00ed na serveru mnohem pomalej\u0161\u00ed, pro\u010d?&#8220;. Existuje \u0159ada p\u0159\u00ed\u010din pomalej\u0161\u00edho chodu str\u00e1nek. Jednou z nej\u010dast\u011bj\u0161\u00edch je pr\u00e1v\u011b to, \u017ee dotazy na datab\u00e1zi, kter\u00e9 p\u0159i men\u0161\u00edm po\u010dtu n\u00e1v\u0161t\u011bvn\u00edk\u016f a men\u0161\u00edm rozsahu datab\u00e1ze nebyly takov\u00e9 kritick\u00e9, najednou zab\u00edraj\u00ed st\u00e1le v\u00edce \u010dasu.<\/p>\n<p>Prvn\u00ed v\u011bc\u00ed, kterou mus\u00edme ud\u011blat, je proj\u00edt si, jak\u00e9 dotazy n\u00e1m mohou zp\u016fsobovat probl\u00e9my. Pro sledov\u00e1n\u00ed prov\u00e1d\u011bn\u00ed jednotliv\u00fdch dotaz\u016f m\u016f\u017eeme pou\u017e\u00edt p\u0159\u00edkaz <em><strong>SHOW processlist;<\/strong><\/em> p\u0159\u00edmo v PhpMyAdminu. Pomoc\u00ed tohoto p\u0159\u00edkazu m\u016f\u017eeme mimo jin\u00e9 vid\u011bt, jak dlouho u\u017e dotaz b\u011b\u017e\u00ed, jeho identifika\u010dn\u00ed \u010d\u00edslo a moment\u00e1ln\u00ed stav. V r\u00e1mci hosting\u016f <a title=\"WebSupport\" href=\"https:\/\/www.websupport.cz\" target=\"_blank\">WebSupportu<\/a> vyu\u017e\u00edv\u00e1me mo\u017enost zaznamen\u00e1v\u00e1n\u00ed MySQL dotaz\u016f trvaj\u00edc\u00edch p\u0159\u00edli\u0161 dlouho do slow query logu, kter\u00fd m\u016f\u017eete naj\u00edt ve WebAdminu v sekci Datab\u00e1ze. Pokud tedy hled\u00e1te p\u0159\u00ed\u010dinu zpomalen\u00ed str\u00e1nek a podez\u0159\u00edv\u00e1te datab\u00e1zi, na toto m\u00edsto byste se v\u017edy m\u011bli pod\u00edvat \u00fapln\u011b nejd\u0159\u00edve.<\/p>\n<p>Kdy\u017e m\u00e1me podchycen dotaz, kter\u00fd se prov\u00e1d\u00ed del\u0161\u00ed dobu, um\u00edme naj\u00edt i detaily toho, co d\u011bl\u00e1. Posta\u010d\u00ed ulo\u017eit si \u010d\u00edslo dotazu (pokud prob\u00edh\u00e1) nebo jeho syntaxi a n\u00e1sledn\u011b MySQL zaslat dotaz EXPLAIN (<em><strong>EXPLAIN \u010d\u00edslo_procesu;<\/strong><\/em>\u00a0nebo <em><strong>EXPLAIN syntax_pomal\u00e9ho_query;<\/strong><\/em>). N\u00e1sledn\u011b m\u016f\u017eeme rychle zjistit, jak\u00fd objem dat (mno\u017estv\u00ed zpracovan\u00fdch \u0159\u00e1dk\u016f) a pou\u017eit\u00e9 indexy se vyu\u017e\u00edvaj\u00ed. Zda je nutn\u00e9 vytvo\u0159it temporary tabulky na disku, proto\u017ee se meziv\u00fdsledek nevejde do pam\u011bti a tak\u00e9 typy prom\u011bnn\u00fdch, kter\u00e9 porovn\u00e1v\u00e1me.<\/p>\n<h4>Indexov\u00e1n\u00ed tabulek<\/h4>\n<p>Jednou ze z\u00e1kladn\u00edch mo\u017enost\u00ed, jak optimalizovat datab\u00e1zi, jsou pr\u00e1v\u011b indexy. \u010casto se data v r\u00e1mci sloupce daj\u00ed zapsat mnohem efektivn\u011bji z pohledu vyhled\u00e1v\u00e1n\u00ed &#8211; jednotliv\u00e1 pole m\u016f\u017eeme upravit do podoby hash nebo bin\u00e1rn\u00edho stromu a n\u00e1sledn\u011b se\u0159adit &#8211; jako do kartot\u00e9ky. Kdy\u017e MySQL n\u00e1sledn\u011b nap\u0159. vyb\u00edr\u00e1 podle krit\u00e9ri\u00ed z tabulky, nemus\u00ed proch\u00e1zet cel\u00fd obsah datab\u00e1ze. Nej\u010dast\u011bji to u\u017eivatel datab\u00e1ze m\u016f\u017ee poc\u00edtit, kdy\u017e jeho query jde nap\u0159\u00ed\u010d n\u011bkolika tabulkami (JOIN) a hled\u00e1n\u00ed unik\u00e1tn\u00edch z\u00e1znam\u016f (DISTINCT).<\/p>\n<p>Pokud chceme spojit data ze dvou tabulek, je to co se t\u00fd\u010de rozsahu (a tedy i objemu) zpracovan\u00fdch dat trochu o\u0161emetn\u00e1 situace, pokud bychom cht\u011bli hledat hrubou silou. N\u00e1ro\u010dnost jak\u00e9hokoli JOIN toti\u017e stoup\u00e1 s po\u010dtem \u0159\u00e1dk\u016f a v nejhor\u0161\u00edm p\u0159\u00edpad\u011b roste a\u017e exponenci\u00e1ln\u011b. (Piko\u0161ka: \u017ee to m\u016f\u017ee b\u00fdt a\u017e tak \u0161patn\u00e9, jsem za\u017eil, kdy\u017e jsem u datab\u00e1ze jist\u00e9ho f\u00f3ra vid\u011bl, jak dotaz prohled\u00e1val n\u011bkolik des\u00edtek bilion\u016f pol\u00ed. Bilion\u016f!).<\/p>\n<p>Na to, abychom mohli vyb\u00edrat nap\u0159\u00ed\u010d v\u00edce poli, pot\u0159ebujeme toti\u017e nejprve z\u00edskat takovou tabulku, kde jsou ke ka\u017ed\u00e9 vybran\u00e9 kombinaci sloupc\u016f z prvn\u00ed tabulky p\u0159id\u011blen\u00e9 podle mo\u017enosti relevantn\u00ed sloupce z druh\u00e9 tabulky, abychom pak mohli v\u016fbec srovn\u00e1vat, kter\u00e9 \u0159\u00e1dky spl\u0148uj\u00ed podm\u00ednky ve WHERE.<\/p>\n<p>Pokud tedy vid\u00edme, \u017ee je v dotazu direktiva JOIN (nebo i LEFT JOIN a OUTER JOIN) a vid\u00edme, \u017ee se nepou\u017e\u00edv\u00e1 index, pod\u00edv\u00e1me se, jak\u00e9 sloupce jsou v jednotliv\u00fdch tabulk\u00e1ch pou\u017e\u00edvan\u00e9 a pro ty n\u00e1sledn\u011b vytvo\u0159\u00edme index. Nap\u0159\u00edklad na tabulce TABLE sloupc\u016fm TABLE.id , TABLE.sloupce , TABLE.kter\u00e9 , a TABLE.indexovat:<\/p>\n<p style=\"text-align: center;\"><strong> CREATE INDEX id_join on TABLE (sloupce, kter\u00e9, indexovat); <\/strong><\/p>\n<p>Tot\u00e9\u017e provedeme i p\u0159i druh\u00e9 tabulce. Indexov\u00e1n\u00ed tabulek je jen jedno z v\u00edce \u0159e\u0161en\u00ed, jak zrychlit na\u010d\u00edt\u00e1n\u00ed dat z datab\u00e1z\u00ed a v neposledn\u00ed \u0159ad\u011b tak\u00e9 zrychlit odezvu va\u0161ich str\u00e1nek. K dal\u0161\u00edm obvykl\u00fdm pot\u00ed\u017e\u00edm, jako je nespr\u00e1vn\u00e9 pou\u017eit\u00ed subquery, nevhodn\u00e9 PHP nastaven\u00ed, optimalizaci spou\u0161t\u011bn\u00fdch skript\u016f atd. se budeme v\u011bnovat v dal\u0161\u00edch blogpostoch. Douf\u00e1m, \u017ee v\u00e1m tento \u010dl\u00e1nek alespo\u0148 trochu objasnil, jak funguje indexov\u00e1n\u00ed v datab\u00e1z\u00edch a pro\u010d je jeho pou\u017e\u00edv\u00e1n\u00ed vhodn\u00e9. Nev\u00e1hejte se pod\u011blit s va\u0161imi tipy v koment\u00e1\u0159\u00edch.<\/p>\n<p>Pokud byste m\u011bli o toto t\u00e9ma hlub\u0161\u00ed z\u00e1jem, rozhodn\u011b m\u016f\u017eu doporu\u010dit n\u00e1sleduj\u00edc\u00ed odkazy:<\/p>\n<p dir=\"ltr\"><a href=\"http:\/\/www.slideshare.net\/osscube\/indexing-the-mysql-index-key-to-performance-tuning\">http:\/\/www.slideshare.net\/osscube\/indexing-the-mysql-index-key-to-performance-tuning<\/a><\/p>\n<p dir=\"ltr\"><a href=\"http:\/\/www.cs.duke.edu\/csl\/docs\/mysql-refman\/optimization.html\">http:\/\/www.cs.duke.edu\/csl\/docs\/mysql-refman\/optimization.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>V admin odd\u011blen\u00ed se \u010dasto setk\u00e1v\u00e1me s r\u016fzn\u00fdmi probl\u00e9my na\u0161ich z\u00e1kazn\u00edk\u016f, kter\u00e9 jsou ne v\u017edy chybou na stran\u011b samotn\u00e9ho serveru nebo hostingu jako takov\u00e9ho. Proto jsme se rozhodli za\u010d\u00edt ps\u00e1t seri\u00e1l o r\u016fzn\u00fdch tipech, kter\u00e9 by v\u00e1m m\u011bly pomoci pochopit a odstranit n\u011bkter\u00e9 probl\u00e9my se str\u00e1nkami. V t\u00e9to \u010d\u00e1sti se hlavn\u011b za\u010dneme v\u011bnovat MySQL datab\u00e1z\u00edm.<\/p>\n","protected":false},"author":33,"featured_media":2737,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,52],"tags":[228,227,46,229],"class_list":["post-2731","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologie","category-tipy-a-triky","tag-db","tag-join","tag-mysql","tag-rychlost-stranek"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed - Websupport.cz Blog<\/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.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/\" \/>\n<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed - Websupport.cz Blog\" \/>\n<meta property=\"og:description\" content=\"V admin odd\u011blen\u00ed se \u010dasto setk\u00e1v\u00e1me s r\u016fzn\u00fdmi probl\u00e9my na\u0161ich z\u00e1kazn\u00edk\u016f, kter\u00e9 jsou ne v\u017edy chybou na stran\u011b samotn\u00e9ho serveru nebo hostingu jako takov\u00e9ho. Proto jsme se rozhodli za\u010d\u00edt ps\u00e1t seri\u00e1l o r\u016fzn\u00fdch tipech, kter\u00e9 by v\u00e1m m\u011bly pomoci pochopit a odstranit n\u011bkter\u00e9 probl\u00e9my se str\u00e1nkami. V t\u00e9to \u010d\u00e1sti se hlavn\u011b za\u010dneme v\u011bnovat MySQL datab\u00e1z\u00edm.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/\" \/>\n<meta property=\"og:site_name\" content=\"Websupport.cz Blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-12-03T14:14:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-03-11T20:18:18+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2013\/12\/blog-pic-root1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"517\" \/>\n\t<meta property=\"og:image:height\" content=\"112\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Franti\u0161ek Droj\u00e1k\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Napsal(a)\" \/>\n\t<meta name=\"twitter:data1\" content=\"Franti\u0161ek Droj\u00e1k\" \/>\n\t<meta name=\"twitter:label2\" content=\"Odhadovan\u00e1 doba \u010dten\u00ed\" \/>\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:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/\"},\"author\":{\"name\":\"Franti\u0161ek Droj\u00e1k\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#\\\/schema\\\/person\\\/cfe2fdf5ce9bfcd4f149370167e2eae5\"},\"headline\":\"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed\",\"datePublished\":\"2013-12-03T14:14:21+00:00\",\"dateModified\":\"2025-03-11T20:18:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/\"},\"wordCount\":897,\"commentCount\":4,\"publisher\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/app\\\/uploads\\\/2013\\\/12\\\/blog-pic-root1.png\",\"keywords\":[\"db\",\"JOIN\",\"MySQL\",\"rychlost str\u00e1nek\"],\"articleSection\":[\"Technologie\",\"Tipy a triky\"],\"inLanguage\":\"cs\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/\",\"name\":\"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed - Websupport.cz Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/app\\\/uploads\\\/2013\\\/12\\\/blog-pic-root1.png\",\"datePublished\":\"2013-12-03T14:14:21+00:00\",\"dateModified\":\"2025-03-11T20:18:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#breadcrumb\"},\"inLanguage\":\"cs\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"cs\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/app\\\/uploads\\\/2013\\\/12\\\/blog-pic-root1.png\",\"contentUrl\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/app\\\/uploads\\\/2013\\\/12\\\/blog-pic-root1.png\",\"width\":517,\"height\":112},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/2013\\\/12\\\/efektivne-na-mysql-cast-prvni\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/\",\"name\":\"Websupport.cz Blog\",\"description\":\"Webujte s lehkost\u00ed\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"cs\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#organization\",\"name\":\"Websupport.cz Blog\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"cs\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/app\\\/uploads\\\/2021\\\/06\\\/websupport-logo.svg\",\"contentUrl\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/app\\\/uploads\\\/2021\\\/06\\\/websupport-logo.svg\",\"width\":153,\"height\":48,\"caption\":\"Websupport.cz Blog\"},\"image\":{\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/#\\\/schema\\\/person\\\/cfe2fdf5ce9bfcd4f149370167e2eae5\",\"name\":\"Franti\u0161ek Droj\u00e1k\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"cs\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/05e67bbfc90db9ba65ac2120122339581cadd7636782d642912823802dc16b41?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/05e67bbfc90db9ba65ac2120122339581cadd7636782d642912823802dc16b41?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/05e67bbfc90db9ba65ac2120122339581cadd7636782d642912823802dc16b41?s=96&d=mm&r=g\",\"caption\":\"Franti\u0161ek Droj\u00e1k\"},\"description\":\"Franti\u0161ek pracuje na pozici 2nd line admin.\",\"url\":\"https:\\\/\\\/www.websupport.cz\\\/blog\\\/author\\\/frantisek-drojak\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed - Websupport.cz Blog","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.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/","og_locale":"cs_CZ","og_type":"article","og_title":"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed - Websupport.cz Blog","og_description":"V admin odd\u011blen\u00ed se \u010dasto setk\u00e1v\u00e1me s r\u016fzn\u00fdmi probl\u00e9my na\u0161ich z\u00e1kazn\u00edk\u016f, kter\u00e9 jsou ne v\u017edy chybou na stran\u011b samotn\u00e9ho serveru nebo hostingu jako takov\u00e9ho. Proto jsme se rozhodli za\u010d\u00edt ps\u00e1t seri\u00e1l o r\u016fzn\u00fdch tipech, kter\u00e9 by v\u00e1m m\u011bly pomoci pochopit a odstranit n\u011bkter\u00e9 probl\u00e9my se str\u00e1nkami. V t\u00e9to \u010d\u00e1sti se hlavn\u011b za\u010dneme v\u011bnovat MySQL datab\u00e1z\u00edm.","og_url":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/","og_site_name":"Websupport.cz Blog","article_published_time":"2013-12-03T14:14:21+00:00","article_modified_time":"2025-03-11T20:18:18+00:00","og_image":[{"width":517,"height":112,"url":"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2013\/12\/blog-pic-root1.png","type":"image\/png"}],"author":"Franti\u0161ek Droj\u00e1k","twitter_card":"summary_large_image","twitter_misc":{"Napsal(a)":"Franti\u0161ek Droj\u00e1k","Odhadovan\u00e1 doba \u010dten\u00ed":"4 minuty"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#article","isPartOf":{"@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/"},"author":{"name":"Franti\u0161ek Droj\u00e1k","@id":"https:\/\/www.websupport.cz\/blog\/#\/schema\/person\/cfe2fdf5ce9bfcd4f149370167e2eae5"},"headline":"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed","datePublished":"2013-12-03T14:14:21+00:00","dateModified":"2025-03-11T20:18:18+00:00","mainEntityOfPage":{"@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/"},"wordCount":897,"commentCount":4,"publisher":{"@id":"https:\/\/www.websupport.cz\/blog\/#organization"},"image":{"@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#primaryimage"},"thumbnailUrl":"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2013\/12\/blog-pic-root1.png","keywords":["db","JOIN","MySQL","rychlost str\u00e1nek"],"articleSection":["Technologie","Tipy a triky"],"inLanguage":"cs","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/","url":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/","name":"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed - Websupport.cz Blog","isPartOf":{"@id":"https:\/\/www.websupport.cz\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#primaryimage"},"image":{"@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#primaryimage"},"thumbnailUrl":"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2013\/12\/blog-pic-root1.png","datePublished":"2013-12-03T14:14:21+00:00","dateModified":"2025-03-11T20:18:18+00:00","breadcrumb":{"@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#breadcrumb"},"inLanguage":"cs","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/"]}]},{"@type":"ImageObject","inLanguage":"cs","@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#primaryimage","url":"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2013\/12\/blog-pic-root1.png","contentUrl":"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2013\/12\/blog-pic-root1.png","width":517,"height":112},{"@type":"BreadcrumbList","@id":"https:\/\/www.websupport.cz\/blog\/2013\/12\/efektivne-na-mysql-cast-prvni\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.websupport.cz\/blog\/"},{"@type":"ListItem","position":2,"name":"Efektivn\u011b na MySQL, \u010d\u00e1st prvn\u00ed"}]},{"@type":"WebSite","@id":"https:\/\/www.websupport.cz\/blog\/#website","url":"https:\/\/www.websupport.cz\/blog\/","name":"Websupport.cz Blog","description":"Webujte s lehkost\u00ed","publisher":{"@id":"https:\/\/www.websupport.cz\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.websupport.cz\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"cs"},{"@type":"Organization","@id":"https:\/\/www.websupport.cz\/blog\/#organization","name":"Websupport.cz Blog","url":"https:\/\/www.websupport.cz\/blog\/","logo":{"@type":"ImageObject","inLanguage":"cs","@id":"https:\/\/www.websupport.cz\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2021\/06\/websupport-logo.svg","contentUrl":"https:\/\/www.websupport.cz\/blog\/app\/uploads\/2021\/06\/websupport-logo.svg","width":153,"height":48,"caption":"Websupport.cz Blog"},"image":{"@id":"https:\/\/www.websupport.cz\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.websupport.cz\/blog\/#\/schema\/person\/cfe2fdf5ce9bfcd4f149370167e2eae5","name":"Franti\u0161ek Droj\u00e1k","image":{"@type":"ImageObject","inLanguage":"cs","@id":"https:\/\/secure.gravatar.com\/avatar\/05e67bbfc90db9ba65ac2120122339581cadd7636782d642912823802dc16b41?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/05e67bbfc90db9ba65ac2120122339581cadd7636782d642912823802dc16b41?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/05e67bbfc90db9ba65ac2120122339581cadd7636782d642912823802dc16b41?s=96&d=mm&r=g","caption":"Franti\u0161ek Droj\u00e1k"},"description":"Franti\u0161ek pracuje na pozici 2nd line admin.","url":"https:\/\/www.websupport.cz\/blog\/author\/frantisek-drojak\/"}]}},"_links":{"self":[{"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/posts\/2731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/users\/33"}],"replies":[{"embeddable":true,"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/comments?post=2731"}],"version-history":[{"count":6,"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/posts\/2731\/revisions"}],"predecessor-version":[{"id":5439,"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/posts\/2731\/revisions\/5439"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/media\/2737"}],"wp:attachment":[{"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/media?parent=2731"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/categories?post=2731"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.websupport.cz\/blog\/wp-json\/wp\/v2\/tags?post=2731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}