<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=Optimalizace_SQL_dotaz%C5%AF%2C_kter%C3%A1_se_nevypl%C3%A1c%C3%AD_usp%C4%9Bchat</id>
	<title>Optimalizace SQL dotazů, která se nevyplácí uspěchat - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://jak.mazovia.edu.pl/index.php?action=history&amp;feed=atom&amp;title=Optimalizace_SQL_dotaz%C5%AF%2C_kter%C3%A1_se_nevypl%C3%A1c%C3%AD_usp%C4%9Bchat"/>
	<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Optimalizace_SQL_dotaz%C5%AF,_kter%C3%A1_se_nevypl%C3%A1c%C3%AD_usp%C4%9Bchat&amp;action=history"/>
	<updated>2026-09-18T16:54:04Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://jak.mazovia.edu.pl/index.php?title=Optimalizace_SQL_dotaz%C5%AF,_kter%C3%A1_se_nevypl%C3%A1c%C3%AD_usp%C4%9Bchat&amp;diff=237793&amp;oldid=prev</id>
		<title>WaylonBellingsha: Utworzono nową stronę &quot;&lt;br&gt;Další častou chybou je zbytečné načítání všech sloupců. Místo SELECT * si napište pouze ty sloupce, které skutečně potřebujete. Tím se sníží objem přenášených dat a v ně[https://www.Business-opportunities.biz/?s=kter%C3%BDch kterých] případech může databáze použít i tzv. covering index, který obsahuje všechny požadované hodnoty a nemusí přistupovat k samotné tabulce. To platí dvojnásob, pokud pracujete s tabulkami, kte…&quot;</title>
		<link rel="alternate" type="text/html" href="https://jak.mazovia.edu.pl/index.php?title=Optimalizace_SQL_dotaz%C5%AF,_kter%C3%A1_se_nevypl%C3%A1c%C3%AD_usp%C4%9Bchat&amp;diff=237793&amp;oldid=prev"/>
		<updated>2026-08-29T04:54:07Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot;&amp;lt;br&amp;gt;Další častou chybou je zbytečné načítání všech sloupců. Místo SELECT * si napište pouze ty sloupce, které skutečně potřebujete. Tím se sníží objem přenášených dat a v ně[https://www.Business-opportunities.biz/?s=kter%C3%BDch kterých] případech může databáze použít i tzv. covering index, který obsahuje všechny požadované hodnoty a nemusí přistupovat k samotné tabulce. To platí dvojnásob, pokud pracujete s tabulkami, kte…&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;br&amp;gt;Další častou chybou je zbytečné načítání všech sloupců. Místo SELECT * si napište pouze ty sloupce, které skutečně potřebujete. Tím se sníží objem přenášených dat a v ně[https://www.Business-opportunities.biz/?s=kter%C3%BDch kterých] případech může databáze použít i tzv. covering index, který obsahuje všechny požadované hodnoty a nemusí přistupovat k samotné tabulce. To platí dvojnásob, pokud pracujete s tabulkami, které mají mnoho sloupců nebo obsahují velké textové hodnoty. Optimalizace dotazu není jen o tom, co se provádí, ale také o tom, kolik dat se zbytečně tahá mezi databází a aplikací.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Poslední rada: pravidelně spouštějte celou testovací sadu, ideálně po každé změně kódu. Použijte nástroj pro měření pokrytí, abyste zjistili, které části kódu nejsou testovány. Ale nesnažte se dosáhnout stoprocentního pokrytí za každou cenu. Mnohem důležitější je, aby testy testovaly správné věci a byly udržovatelné. Když narazíte na chybu, nejdřív napište test, který ji reprodukuje, a teprve potom opravujte kód. Tímto postupem nejenže opravíte chybu, ale také zabráníte jejímu návratu v budoucnu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Nejčastější chybou je sestavování SQL dotazů pomocí prostého zřetězení řetězců. Typický příklad vypadá takto: příkaz, který má ověřit přihlášení, se staví jako text s vloženým uživatelským jménem a heslem. Když útočník zadá do pole [https://feswiki.com/index.php/Kdy%C5%BE_web_roste_bez_%C5%99%C3%A1du,_za%C4%8Dn%C4%9Bte_verzovat_takto rady pro rekonstrukci] jméno hodnotu jako ‘ OR ‘1’=‘1, výsledný dotaz se vyhodnotí jako pravdivý a aplikace ho pustí dál, aniž by znala skutečné heslo. Řešení je přitom technicky triviální: používat parametrizované dotazy nebo připravené příkazy (prepared statements). Tyto mechanismy oddělují SQL kód od dat a databáze vstup vždy interpretuje pouze jako hodnotu, ne jako příkaz.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další pastí je role product ownera. V českých týmech se často stává, že je to manažer, který má jen málo času a zadání předává přes e-mail. To vede k tomu, že vývojáři neznají prioritu a sprint backlog se mění v průběhu. Product owner musí být součástí týmu, musí pravidelně odpovídat na otázky a mít rozhodovací pravomoc. Pokud to není možné, Scrum nebude fungovat, ať uděláte cokoli jiného. Zkuste mu dát jasný mandát a vyhraďte mu alespoň dvě hodiny denně na práci s backlogem.&amp;lt;br&amp;gt;V neposlední řadě věnujte pozornost počtu dotazů. Často se stává, že aplikace provede deset dotazů v cyklu místo jednoho, který by všechny potřebné údaje získal najednou. Spojení tabulek pomocí JOIN je sice občas považováno za pomalé, ale ve většině případů je stále výrazně efektivnější než volání v cyklu. Pokud se bez cyklu neobejdete, zkuste alespoň dávkové zpracování – sbírejte data [http://ingeekswetrust.de/index.php?title=Co_se_stane,_kdy%C5%BE_za%C4%8Dnete_s_Androidem_bez_pl%C3%A1nu barvy stěn do obýváku] pole a dotaz proveďte pro celý seznam hodnot najednou. Po každé změně vždy ověřte, zda se plán provedení skutečně zlepšil, a měřte čas v reálném provozu, ne jen na malých testovacích datech.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Než Scrum zavrhnete, [https://Www.Dictionary.com/browse/pod%C3%ADvejte podívejte] se na to, [http://miklagaard.no/index.php?title=Co_se_stane,_kdy%C5%BE_otestujete_mobiln%C3%AD_aplikaci_a%C5%BE_po_vyd%C3%A1n%C3%AD jak zařídit malou kuchyni] používáte jeho pravidla. Pokud máte pocit, že jde o zbytečnou byrokracii, zeptejte se, jestli nepoužíváte příliš mnoho formálních nástrojů. Scrum má být jednoduchý. Když zjistíte, že plánujete sprint na tři dny a píšete podrobné user story, děláte něco špatně. Zkuste místo toho začít s menšími kroky, s minimálními pravidly a s důrazem na zpětnou vazbu. Teprve pak uvidíte, že Scrum skutečně zrychluje práci a snižuje stres.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Základním krokem je analýza plánu provedení dotazu. Většina databázových systémů nabízí příkazy jako EXPLAIN nebo EXPLAIN ANALYZE. Z nich zjistíte, které části dotazu se provedou sekvenčním prohledáváním tabulky a kde se používá index. Typickou chybou je spoléhat na to, že index na sloupci použitého ve WHERE klauzuli automaticky urychlí vše. Ve skutečnosti záleží na selektivitě – pokud sloupec obsahuje jen pár unikátních hodnot, index nepomůže a optimalizátor ho stejně přeskočí. Sledujte proto odhad počtu řádků, který plán uvádí, a porovnejte ho s realitou.&amp;lt;br&amp;gt;Retrospektiva není formalita. Pokud ji odbýváte, přicházíte o nejcennější nástroj na zlepšování. Zkuste na ní použít jednoduchý rámec:  If you have any questions relating to where and ways to utilize [https://jak.mazovia.edu.pl/index.php/Verzov%C3%A1n%C3%AD,_kter%C3%A9_v%C3%A1s_zrad%C3%AD:_nej%C4%8Dast%C4%9Bj%C5%A1%C3%AD_chyby_v_Gitu více o tom], you could contact us at our web-page. co fungovalo, co nefungovalo a co s tím uděláme příště. Důležité je, aby každý člen týmu měl možnost mluvit, a aby z každé retrospektivy vzešel jeden konkrétní, malý krok, který se skutečně udělá. Pokud se to nedaří, zeptejte se sami sebe, jestli je problém v procesu, nebo v tom, že se bojíte říct pravdu.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Další past je práce s daty. Kontejnery jsou ze své podstaty dočasné. Když je smažete příkazem docker rm, přijdete o všechna data, která v nich vznikla. Pokud potřebujete data uchovat, použijte volume: docker run -v /cesta/na/disku:/data moje-aplikace. Levou stranu dvojtečky určuje hostitel, pravou kontejner. Bez volume je každé sestavení a spuštění čistý stůl. To je v pořádku pro testy, ale ne pro databáze nebo uživatelské soubory. Pokud toto opomenete, budete data po každém restartu obnovovat zálohou.&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>WaylonBellingsha</name></author>
	</entry>
</feed>